git - গিট দূরবর্তী শাখা fetch




branch git-branch (17)

আপনার। .git/config , .git/config যে রিমোট জন্য fetch উপস্থিত কি ট্র্যাকিং।

[remote "randomRemote"]
    url = [email protected]:someUser/someRepo.git
    fetch = +refs/heads/*:refs/remotes/randomRemote/*

যদি এটি randomRemote/* heads/* দিকে নির্দেশ করে randomRemote/* আপনি যখন git fetch randomRemote চালান তখন এটি সমস্ত শাখাগুলি আনবে। তারপর আপনি শুধু যে শাখা চেকআউট করতে পারেন।

তা না হলে,

  1. আপনি এই ব্যবহার করে ট্র্যাকিং দূরবর্তী শাখা যোগ করা প্রয়োজন। এই চলমান পর আপনার .git/config চেক করুন। তুমি বুঝবে. গিট দূরবর্তী সেট শাখা - র্যান্ডম যোগ করুন randomBranch

  2. রান git fetch randomRemote । এই দূরবর্তী শাখা আনতে হবে।

  3. এখন আপনি git checkout randomBranch চালাতে git checkout randomBranch

আমার সহকর্মী এবং আমি একই রিপোজিটরিতে কাজ করছি, আমরা বিভিন্ন প্রকল্পগুলির জন্য টেকনিক্যালি প্রতিটি শাখায় দুইটি শাখায় বিভক্ত করেছি, কিন্তু তাদের সমানতা রয়েছে তাই আমরা মাঝে মাঝে শাখা থেকে * মাস্টারকে ফেরত দিতে চাই।

তবে, আমি শাখা আছে। আমার প্রশ্ন, আমার সহকর্মী বিশেষভাবে যে শাখা টানতে পারেন? রেপোর একটি git clone তার জন্য স্থানীয়ভাবে শাখা তৈরি করতে পারে না বলে মনে হয়, যদিও আমি তাদের শেষের দিকে ধাক্কা পরে তাদের অনভিজ্ঞ অবস্থায় দেখতে পারি।

এছাড়াও, যখন আমি মূলত শাখা তৈরি করলাম তখন আমি -b checkout করেছিলাম। যে অনেক পার্থক্য করে না নিশ্চিত না?

iMac:test_solar dave$ git branch -r
origin/HEAD -> origin/master
origin/daves_branch
origin/discover
origin/master

git fetch origin discover
git checkout discover

এই আমি চালানো কমান্ড। কিন্তু এটা স্পষ্টভাবে কাজ করছে না। আমি সেই শাখাটি যাচাই করতে সক্ষম হব এবং তারপরে বিভিন্ন সহযোগী বা ওয়ার্কস্টেশনের শাখায় পরিবর্তনগুলি ফিরিয়ে আনার চেষ্টা করব।


আপনি আপনার শাখা পৃথক রাখতে 'গিট পুল' ব্যবহার করুন। 'Lbranch' এবং 'rbranch' থেকে ডাইসিফার করা কঠিন হওয়ার পরে আমি প্রকৃত রেপো এবং শাখা নামগুলি ব্যবহার করতে সহায়তা করব।

এর ব্যবহার করা যাক:

  • myteam.unfuddle.com = রিমোট গিট সার্ভার
  • tlc = অপ্রয়োজনীয় প্রকল্প অ্যাকাউন্ট যেখানে repo বিদ্যমান
  • daves_branch = দূরবর্তী শাখা নাম

    আপনি, বা কোন সহকর্মী, এটি কেবল আপনার শাখাটি টেনে আনতে চালাতে পারেন, কোনও শাখাগুলি কতটা গুরুত্বপূর্ণ নয়:

    git init
    git pull [email protected]:myteam/tlc daves_branch:refs/remotes/origin/daves_branch
    


  • আপনি রিমোট শাখাকেও এক শটতে আনতে এবং চেকআউট করতে পারেন: -

    git fetch && git checkout the-branch-name
    

    আমার ব্র্যাঞ্চ চেকআউট করতে যা দূরবর্তী অবস্থান থেকে এবং স্থানীয়ভাবে নয় - এটি আমার জন্য কাজ করেছে:

    git fetch --all
    git checkout myBranch
    

    আমি এই বার্তা পেয়েছিলাম:

    Branch myBranch set up to track remote branch myBranch from origin
    Switched to a new branch 'myBranch'
    

    আমি টাইপ করেছি

    git checkout <branch_name>
    

    এবং পেয়েছিলাম

    Branch <branch_name> set up to track remote branch <branch_name> from origin.
    Switched to a new branch '<branch_name>'
    

    এই সহজ কমান্ড দিয়ে:

    git checkout -b 'your_branch' origin/'remote branch'
    

    এটি করার সবচেয়ে সহজ উপায়, অন্তত আমার জন্য:

    git fetch origin <branchName>
    

    কি আমাকে সাহায্য করেছিল

    1) সমস্ত উপলব্ধ দূরবর্তী শাখার দেখতে (যেমন 'রিমোট-শাখা-নাম')

    git branch -r
    

    2) দূরবর্তী শাখা নাম ব্যবহার করে একটি স্থানীয় শাখা তৈরি করুন

    git fetch && git checkout 'remote-branch-name'
    

    নিম্নরূপ পদক্ষেপ;

    1. git fetch origin বা git fetch --all সব, এটি আপনার দূরবর্তী শাখাগুলিকে আপনার স্থানীয়ে আনবে এবং এটির সাথে দ্বিতীয় বিকল্পটি আপনি প্রক্রিয়া করতে পারবেন।

    2. git checkout --track origin/<The_remote_branch you want to switch over>

    তারপরে এই শাখায় কাজ করুন এবং আপনি যে শাখায় আছেন কিনা তা টাইপ করে যাচাই করতে পারেন

    git branch
    

    এটি বর্তমানে আপনি যে শাখাটি দেখছেন তা প্রদর্শন করে।


    মাঝে মাঝে আপনি মাস্টার শাখার সাথে উধাও না হয়ে কেবল দূরবর্তী শাখার কাজ করতে বলেন (যেমনটি আমাকে বলা হয়েছিল)। তাই আপনার প্রয়োজন দূরবর্তী শাখা।

    সুতরাং একা দূরবর্তী শাখা ক্লোন (মাস্টার ছাড়া), এই কাজ

    git clone url --branch remote_branch_name
    

    যেখানে, রিমোট_ব্রাঞ্চ_নাম রিমোট শাখার নাম

    উদাহরণ স্বরূপ,

    git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git --branch v3.15
    

    এটি রিমোট শাখার নামে আপনার স্থানীয় শাখাতে রিমোট শাখাটি ক্লোন করে তা নিশ্চিত করবে।

    এখন আপনি যদি আপনার কোডটি ধাক্কা দেন এবং ধাক্কা দেন তবে কোডটি সেই শাখাটিতে জমা দেওয়া হবে।


    যদি আপনি ইতিমধ্যে আপনার রিমোট শাখা যেমন জানেন ...

    git remote
    => One
    => Two
    

    এবং আপনি প্রাক্তন চেকআউট করতে চান শাখা নাম জানি। তারপর br.2.2.4

    git fetch One
    => returns all meta data of remote i.e. the branch name in question.
    

    বাকি যে বাকি শাখা চেকআউট হয়

    git checkout br.1.2.3.4
    

    তারপর এটি বন্ধ কোন নতুন শাখা করা।


    রিমোট শাখা ট্র্যাক করে এমন একটি স্থানীয় শাখা তৈরি করতে হবে। নিম্নলিখিত কমান্ড daves_branch নামক একটি স্থানীয় শাখা তৈরি করবে, রিমোট শাখা উত্স / daves_branch ট্র্যাকিং করবে। আপনি আপনার পরিবর্তন ধাক্কা যখন দূরবর্তী শাখা আপডেট করা হবে।

    গিট সাম্প্রতিক সংস্করণ জন্য:

    git checkout --track origin/daves_branch
    

    --track git checkout -b [branch] [remotename]/[branch] যেখানে [রিমোটনাম] এই ক্ষেত্রে উৎপন্ন হয় এবং [শাখা] দ্বিগুণ একই, daves_branch এই ক্ষেত্রে।

    Git জন্য 1.5.6.5 আপনি এই প্রয়োজন:

    git checkout --track -b daves_branch origin/daves_branch
    

    গিট 1.7.2.3 এবং উচ্চতর এর জন্য এটি যথেষ্ট (হয়তো শুরু হতে পারে তবে এটি দ্রুততম যেটি আমি দ্রুত খুঁজে পেতে পারি):

    git checkout daves_branch
    

    উল্লেখ্য যে সাম্প্রতিক গিট সংস্করণগুলির সাথে, এই কমান্ডটি স্থানীয় শাখা তৈরি করবে না এবং আপনাকে একটি 'পৃথক হেড' অবস্থায় রাখবে। যদি আপনি একটি স্থানীয় শাখা চান, তবে --track বিকল্পটি ব্যবহার করুন। এখানে সম্পূর্ণ বিবরণ: http://git-scm.com/book/en/v2/Git-Branching-Remote-Branches#Tracking-Branches - http://git-scm.com/book/en/v2/Git-Branching-Remote-Branches#Tracking-Branches


    সমস্ত রিমোট এবং তাদের শাখাগুলি দেখতে git branch -r (স্থানীয় এবং দূরবর্তী শাখা উভয়) বা git branch -r (শুধুমাত্র দূরবর্তী শাখার) ব্যবহার করুন। আপনি git checkout -t remotes/repo/branch দূরবর্তীতে একটি git checkout -t remotes/repo/branch করতে পারেন এবং একটি স্থানীয় শাখা তৈরি করতে পারেন।

    সেই রিমোটের জন্য সমস্ত রেফারেন্স এবং ট্যাগগুলি দেখতে একটি git ls-remote কমান্ড রয়েছে।


    git branch <name> --track origin/<name>


    git fetch --all & git checkout <branch name>


    শিরোনাম এবং প্রশ্ন বিভ্রান্ত হয়:

    • গিট দূরবর্তী শাখা fetch
    • কিভাবে আমার সহকর্মী বিশেষ করে যে শাখা টান।

    প্রশ্নটি যদি রিমোট শাখা চেকআউটের সাথে কাজ করার জন্য কিভাবে অথবা কোনও দূরবর্তী শাখাটি কীভাবে রিমোট শাখা পেতে পারি, তাহলে একটি সহজ সমাধান হল:

    গিট (> = 1.6.6) দিয়ে আপনি ব্যবহার করতে পারবেন:

    git checkout <branch_name>
    

    যদি স্থানীয় <branch_name> পাওয়া যায় না তবে <branch_name> নামের সাথে ঠিক একটি দূরবর্তী ট্র্যাকিং শাখা বিদ্যমান থাকে, এর সমতুল্য আচরণ করুন:

    git checkout -b <branch_name> --track <remote>/<branch_name>
    

    checkout

    আপনার বন্ধুর জন্য:

    $ git checkout discover
    Branch discover set up to track remote branch discover
    Switched to a new branch 'discover'
    

    git fetch
    
    git branch -r
    
    git checkout <branch_name>
    




    git-fetch