Git uzak dal getir


Al─▒nan cevaba git


Meslekta┼č─▒m ve ben farkl─▒ projeler i├žin teknik olarak iki kola her i├žine kollara ettik ayn─▒ depo ├╝zerinde ├žal─▒┼č─▒yoruz, ama bazen * geri i┼člemek isteyeceksiniz y├╝zden benzerlikler var master dan branch .

Ancak bende var branch . Sorum ┼ču, meslekta┼č─▒m o ┼čubeyi ├Âzellikle nas─▒l ├žekebilir?

Bir git clone depo, onun i├žin yerel olarak dallar─▒ olu┼čturuyor gibi g├Âr├╝nmese de, bir zorunluluktan kurtulduktan sonra onlar─▒n haks─▒z yere ya┼čad─▒─č─▒n─▒ g├Ârebiliyorum.

Ayr─▒ca, ┼čubeyi aslen yapt─▒─č─▒mda yapt─▒m -b checkout . Bunun ├žok fark yarataca─č─▒ndan emin de─čil misin?

 $ git branch -r
origin/HEAD -> origin/master
origin/daves_branch
origin/discover
origin/master

$ git fetch origin discover
$ git checkout discover
 

Bunlar benim ko┼čtu─čum komutlar. Ama kesinlikle ├žal─▒┼čm─▒yor.

Bu ┼čubeyi kontrol edebilmek ve ard─▒ndan sadece ├že┼čitli ortak ├žal─▒┼čanlardan veya i┼č istasyonlar─▒ndan gelen ┼čubelerdeki de─či┼čiklikleri itip geri almak istiyorum .


2033









Cevap say─▒s─▒n─▒ say: 29






Uzak bir dal─▒ izleyen yerel bir ┼čube olu┼čturman─▒z gerekir. A┼ča─č─▒daki komut, daves_branch adl─▒ uzak bir ┼čube / daves_branch izleyen yerel bir ┼čube olu┼čturacakt─▒r . De─či┼čikliklerinizi zorlad─▒─č─▒n─▒zda uzaktaki ┼čube g├╝ncellenecektir.

Git'in en yeni s├╝r├╝mleri i├žin:

 git checkout --track origin/daves_branch
 

--track i├žin k─▒saltmad─▒r git checkout -b [branch] [remotename]/[branch] [Uzak ad] nerede k├Âkenli bu durumda ve [┼čubesi] iki kez ayn─▒, bir daves_branch bu durumda.

Git 1.5.6.5 i├žin buna ihtiyac─▒n─▒z vard─▒:

 git checkout --track -b daves_branch origin/daves_branch
 

Git 1.7.2.3 ve daha y├╝ksek s├╝r├╝mler i├žin bu yeterlidir (daha ├Ânce ba┼člam─▒┼č olabilirdi, ancak bu h─▒zl─▒ bir ┼čekilde bulabilece─čim en eski onay):

 git checkout daves_branch
 

Son git s├╝r├╝mlerinde, bu komutun yerel bir ┼čube olu┼čturmayaca─č─▒n─▒ ve sizi 'ayr─▒ bir HEAD' durumuna getirece─čini unutmay─▒n. Yerel bir ┼čube istiyorsan─▒z bu --track se├žene─či kullan─▒n. Tam ayr─▒nt─▒lar burada: http://git-scm.com/book/tr/v2/Git-Branching-Remote-Branches#Tracking-Branches


2774







Ben kullan─▒lan var fetch izledi checkout ...

 git fetch <remote> <rbranch>:<lbranch> 
git checkout <lbranch>
 

... nerede <rbranch> uzak ┼čube ya da kaynak ref ve <lbranch> hen├╝z bir varolmayan yerel ┼čube veya ref hedef izlemek istedi─činiz ve hangi muhtemelen uzaktan ┼čube veya kaynak ref ayn─▒ isim istiyorum. Bu a├ž─▒klamadaki se├ženeklerde a├ž─▒klanm─▒┼čt─▒r <refspec> .

Git o kadar ak─▒ll─▒d─▒r ki , uzak dal─▒n ilk birka├ž harfinden sonra sekme yaparsam ilk komutu otomatik olarak tamamlar . IE: Yerel ┼čubeyi isimlendirmek zorunda bile de─čilim, Git otomatik olarak uzaktaki ┼čubenin ad─▒n─▒ kopyal─▒yor. Git git!

Ayr─▒ca bu benzer SO g├Ânderisindeki cevab─▒n da g├Âsterdi─či gibi , yerel ┼čubeyi isimlendirmezseniz fetch , -b bayra─č─▒n─▒ kullanarak kontrol ederken yine de olu┼čturabilirsiniz . IE: git fetch <remote> <branch> izleyen git checkout -b <branch> <remote>/<branch> ilk cevab─▒mdakilerle tamamen ayn─▒. Ve a├ž─▒k├ža e─čer deponuzda yaln─▒zca bir uzaktan kumanda varsa, o zaman hemen git checkout <branch> sonra yapabilirsiniz fetch ve sizin i├žin yerel bir ┼čube olu┼čturacakt─▒r. EG: Az ├Ânce bir repo klonlad─▒n ve uzaktan kumandadan ek ┼čubeleri kontrol etmek istiyorsun.

Baz─▒ belgelerin fetch s├Âzl├╝ olarak kopyaland─▒─č─▒na inan─▒yorum pull . ├ľzellikle b├Âl├╝m <refspec> i├žinde se├ženekler ayn─▒d─▒r. Ancak, ben buna inanm─▒yorum fetch hi├ž olacak merge bo┼č kolonun hedef taraf─▒n─▒ b─▒rak─▒rsan─▒z, b├Âylece fetch hi├žbir ┼čey yapmal─▒d─▒r .

NOT: Bu git fetch <remote> <refspec> nedenle k─▒sa bir s├╝re i├žin git fetch <remote> <refspec>: hi├žbir ┼čey yapmaz, ancak uzaktan kumanday─▒ yerel olarak kopyalamas─▒ gereken ile git fetch <remote> <tag> ayn─▒d─▒r . git fetch <remote> <tag>:<tag> <tag>

San─▒r─▒m bu sadece uzak bir ┼čubeyi yerel olarak kopyalamak istiyorsan─▒z, ancak derhal kontrol etmeniz gerekmez. Aksi taktirde, ┼čimdi , ├Âdeme a├ž─▒klamas─▒n─▒n ilk b├Âl├╝m├╝nde ve daha sonra a├ž─▒klamas─▒n─▒n alt─▒ndaki se├ženekler b├Âl├╝m├╝nde a├ž─▒kland─▒─č─▒ gibi , yukar─▒da verilen kabul edilen cevab─▒ kullanaca─č─▒m . ┼×ey ... bir t├╝r astar, ├ž├╝nk├╝ yine de ├Ânce ko┼čman gerekirdi .https://www.kernel.org/pub/software/scm/git/docs/git-checkout.html%23_description#_descriptionhttps://www.kernel.org/pub/software/scm/git/docs/git-checkout.html%23_options#_options --track git fetch <remote>

Bilginize: <refspecs> (kaynak: hedef) s─▒ras─▒n─▒ uzak dallar─▒ silmek i├žin tuhaf Git-1.7 y├Ântemini a├ž─▒klar . IE: Hedef refspec'in i├žine hi├žbir ┼čey itmeyin.


908







Yeni bir uzak ┼čubeyi (yaln─▒zca uzaktan kumandada var olan ancak yerel olarak bulunmayan) "├Âdeme" yapmaya ├žal─▒┼č─▒yorsan─▒z, burada ihtiyac─▒n─▒z olacak:

 git fetch origin
git checkout --track origin/<remote_branch_name>
 

Bu, kaynaktan almak istedi─činizi varsayar . De─čilse, ba┼člang─▒├ž noktan─▒z─▒ uzak ad─▒n─▒zla de─či┼čtirin .


348







Yerel olarak de─čil, uzaktan var olan myBranch'─▒ sat─▒n almak i├žin - Bu benim i├žin ├žal─▒┼čt─▒:

 git fetch --all
git checkout myBranch
 

Bu mesaj─▒ ald─▒m:

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

114







Kullan─▒m git branch -a (hem yerel hem de uzak dallar) veya git branch -r (sadece uzaktan dallar─▒) t├╝m uzaktan kumandal─▒ ve onlar─▒n dallar─▒ g├Ârmek i├žin. Daha sonra git checkout -t remotes/repo/branch uzaktan kumandada bir a yapabilir ve yerel bir ┼čube olu┼čturabilirsiniz.

Ayr─▒ca, o uzaktan kumanda i├žin t├╝m referanslar─▒ ve etiketleri g├Ârmek i├žin bir git ls-remote komutu vard─▒r.


49







Ba┼čl─▒k ve soru kar─▒┼čt─▒:

  • Git uzak dal getir
  • Meslekta┼č─▒m o ┼čubeyi ├Âzellikle nas─▒l ├žekebilir?

Sorun, uzak bir ┼čubeyle nas─▒l ├žal─▒┼čabilirim veya uzak bir ┼čubeye nas─▒l ├Âdeme yapaca─č─▒m─▒ ├Â─črenebilirsem, daha basit bir ├ž├Âz├╝m:

Git ile (> = 1.6.6) ┼čunlar─▒ kullanabilirsiniz:

 git checkout <branch_name>
 

Yerel <branch_name> bulunmazsa, ancak e┼čle┼čen bir ad─▒ olan tam olarak bir uzaktan kumandada bir izleme dal─▒ varsa, ┼čunlara e┼čde─čer olarak kabul edin:

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

git checkout i├žin belgelere bak─▒n

Arkada┼č─▒n i├žin:

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

38







 git checkout -b serverfix origin/serverfix
 

Bu, git --track k─▒sayolunu sa─člayan yeterince yayg─▒n bir i┼člemdir:

 git checkout --track origin/serverfix
 

Asl─▒nda, bu o kadar yayg─▒n ki, bu k─▒sayol i├žin bir kestirme bile var. ├ľdeme yapmaya ├žal─▒┼čt─▒─č─▒n─▒z dal ad─▒ (a) yoksa ve (b) yaln─▒zca bir uzaktan kumandadaki adla tam olarak e┼čle┼čirse, Git sizin i├žin bir izleme dal─▒ olu┼čturur:

 git checkout serverfix
 

Uzak ┼čubeden farkl─▒ bir ada sahip bir yerel ┼čube ayarlamak i├žin, ilk s├╝r├╝m├╝ farkl─▒ bir yerel ┼čube ad─▒na g├Âre kolayca kullanabilirsiniz:

 git checkout -b sf origin/serverfix
 

┼×imdi, yerel ┼čubeniz sf otomatik olarak ba┼člang─▒├ž ÔÇőÔÇőnoktan─▒zdan / sunucudan ├žekecektir.

Kaynak: Scott Chacon ve Ben Straub taraf─▒ndan yaz─▒lm─▒┼č Pro Git 2nd Edition (okunabilirlik i├žin kesilmi┼č)


28







Bunu yapman─▒n en kolay yolu, en az─▒ndan benim i├žin:

 git fetch origin <branchName> // will fetch the branch locally
git checkout <branchName> // to move to that branch
 

26







Bu basit komutla:

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

22







Bana ne yard─▒m etti

1) Mevcut t├╝m uzak ┼čubeleri g├Âr├╝nt├╝lemek i├žin (├Ârne─čin, 'uzak dal ad─▒')

 git branch -r
 

2) Uzak dal ad─▒n─▒ kullanarak yerel dal olu┼čturma

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

14







 git fetch

git branch -r

git checkout <branch_name>
 

13







Uzak ┼čubeyi tek bir ├žekimle de alabilir ve kontrol edebilirsiniz: -

 git fetch && git checkout the-branch-name
 

13







Uzaktaki bir dal─▒ almak i├žin en basit yol ┼čudur:

 git fetch origin
git checkout branchName
 

Uzaktan kumandada zaten var olup olmad─▒─č─▒n─▒ g├Ârebilirsiniz:

 git branch -r
 

Bu, uzak ┼čubeyi yerelinize getirir ve uzak olan─▒ otomatik olarak izler.


13







yazd─▒m

 git checkout <branch_name>
 

ve var

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

12







Bazen sizden ana dalla oynamaman─▒z ve sadece uzak dalla ├žal─▒┼čmam istenir (istendi─či gibi). Yani tek ihtiyac─▒n olan uzak dal.

B├Âylece uzaktaki dal─▒ tek ba┼č─▒na klonlamak i├žin (ana sistem olmadan) bunu yap─▒n.

 git clone url --branch remote_branch_name
 

remote_branch_name, uzak dal─▒n ad─▒d─▒r.

├ľrne─čin,

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

Bu, uzak ┼čubeyi, uzak ┼čubenin ad─▒yla yerel ┼čubenize kopyalad─▒─č─▒n─▒zdan emin olman─▒z─▒ sa─člar.

┼×imdi kodunuzu girip basarsan─▒z, kod yaln─▒zca o ┼čubeye g├Ânderilir.


10







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


7







Kumandan─▒z─▒n [email protected] oldu─čunu ve onun random_branch ┼čubesini istedi─činizi varsayal─▒m. ─░┼člem a┼ča─č─▒daki gibi olmal─▒d─▒r:

  1. ─░lk ├Ânce uzaktan kumandalar─▒n─▒z─▒n listesini kontrol edin.

    git remote -v

  2. Yukar─▒daki komutun ├ž─▒kt─▒s─▒nda [email protected] remote komutuna sahip de─čilseniz, bunu eklersiniz.

    git remote add xyz [email protected]

  3. ┼×imdi o uzaktan kumandan─▒n i├žeri─čini getirebilirsin.

    git fetch xyz

  4. ┼×imdi ┼ču uzaktan kumandan─▒n ┼čubesini kontrol et.

    git checkout -b my_copy_random_branch xyz/random_branch

  5. ┼×ube listesini kontrol et

    git branch -a

Yerel ┼čubem my_copy_random_branch, uzaktan kumandan─▒z─▒n random_branch ┼čubesini izliyor olacak.


7







basit├že dene

$ git ├žekme k├Âkeni your_branch_name


6


2017-12-12





git fetch && git checkout <your friend's branch name> hile yapmal─▒


6







Uzaktaki t├╝m ┼čubeleri yerel b├Âlgenize getirmek i├žin size oneliner komutunu vermek ve istedi─činiz yeni olu┼čturulan yerel ┼čubeye ge├žmek istiyorum:

 git fetch && git checkout discover
 

Yukar─▒daki komutu ├žal─▒┼čt─▒rd─▒ktan sonra mesaj─▒n alt─▒nda alacaks─▒n─▒z:

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

ilk sat─▒r Yeni bir ┼čubeye ge├žti─čini - neden yeni? zaten uzaktan orada!

Ama asl─▒nda bunu yerel olarak da yaratman─▒z gerekiyor, ┼čube uzak dizinden al─▒nm─▒┼č ve sizin i├žin yerel olarak yarat─▒lm─▒┼č.

─░┼čte discover deponuzun uzak ┼čubesinden olu┼čturulmu┼č yeni ┼čube discover .

Ancak ikinci sat─▒r , bize ┼čunu s├Âyleyen ilk sat─▒rdan daha fazla bilgi verir:

┼×ubemiz, ayn─▒ ┼čubesi olan uzak ┼čubeyi takip etmek ├╝zere ayarlanm─▒┼čt─▒r .

git fetch T├╝m ┼čubeleri lokalize getirse de, ancak git branch pe┼činden master ko┼čarsan─▒z, yerel olarak sadece ┼čubeyi g├Âreceksiniz , neden ?

├ç├╝nk├╝ uzaktan kontrol etti─činiz her ┼čube i├žin git checkout <branchname> , yukar─▒daki ├Ârnekte yapt─▒─č─▒m─▒z gibi izlemek i├žin yerel olarak da olu┼čturman─▒z gerekir .

git checkout komutu ├žal─▒┼čt─▒rd─▒ktan sonra git branch ┼čimdi ├žal─▒┼čt─▒rabilirsiniz her iki ┼čubeyi de g├Ârebilirsiniz:

  1. Master ve yerel giri┼činizde 2. ke┼čfedin.

6







t├╝m uzak ┼čubeleri almak istiyorsan─▒z l├╝tfen sadece yaz─▒n

 git fetch --all
 

T├╝m uzak ┼čubeleri g├Ârmesi i├žin ba┼čka birine yard─▒m edece─čini umuyorum.


5







Ad─▒mlar a┼ča─č─▒daki gibidir;

  1. git fetch origin veya git fetch --all bu, t├╝m uzak ┼čubeleri yerel b├Âlgenize getirecek ve sonra bu i┼člem yapabilece─činiz ikinci se├ženek olacakt─▒r.

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

Daha sonra bu dalda ├žal─▒┼č─▒n ve o dalda olup olmad─▒─č─▒n─▒z─▒ yazarak do─črulay─▒n.

 git branch
 

┼×u anda bulundu─čunuz dal─▒ g├Âr├╝nt├╝ler.


3


2013-12-26





Uzak ┼čubenizi zaten biliyorsan─▒z ...

 git remote
=> One
=> Two
 

ve ├Âdeme yapmak istedi─činiz dal─▒n ad─▒n─▒ biliyorsunuz. br1.2.3.4 sonra

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

geriye kalan tek ┼čey ┼čubeye ├Âdeme yapmak

 git checkout br.1.2.3.4
 

Sonra ondan herhangi bir yeni dallar yap─▒n.


3







--Depth 1 ile klonlanm─▒┼č bir havuzunuz varsa, listelenen komutlar─▒n ├žo─ču ├žal─▒┼čmaz. Mesela buraya bak─▒n─▒z

 % git clone --depth 1 https://github.com/repo/code
Cloning into 'code'...
cd code
remote: Counting objects: 1778, done.
remote: Compressing objects: 100% (1105/1105), done.
remote: Total 1778 (delta 87), reused 1390 (delta 58), pack-reused 0
Receiving objects: 100% (1778/1778), 5.54 MiB | 4.33 MiB/s, done.
Resolving deltas: 100% (87/87), done.
Checking connectivity... done.
Checking out files: 100% (1215/1215), done.
% cd code
% git checkout other_branch
error: pathspec 'other_branch' did not match any file(s) known to git.
% git fetch origin other_branch
remote: Counting objects: 47289, done.
remote: Compressing objects: 100% (15906/15906), done.
remote: Total 47289 (delta 30151), reused 46699 (delta 29570), pack-reused 0
Receiving objects: 100% (47289/47289), 31.03 MiB | 5.70 MiB/s, done.
Resolving deltas: 100% (30151/30151), completed with 362 local objects.
From https://github.com/repo/code
 * branch            other_branch-> FETCH_HEAD
% git checkout other_branch
error: pathspec 'other_branch' did not match any file(s) known to git.
%
 

Bu durumda, depoyu yeniden ele ge├žirirdim, ama belki ba┼čka teknikler de var, ├Ârne─čin git s─▒─č klonu (klon - depth) uzak dallar─▒ ├Âzl├╝yor


3







Senin Kontrol .git/config mevcut olan─▒ izleme, ├Âzellikle getirme o uzak konumu i├žin.

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

E─čer heads/* i┼čaret ederse randomRemote/* , ko┼čtu─čunuz zaman git fetch randomRemote t├╝m dallar─▒ al─▒r. O zaman bu ┼čubeyi kontrol edebilirsin.

Aksi takdirde,

  1. Bunu kullanarak izlemeye uzak dallar eklemeniz gerekir. .git/config Bunu ├žal─▒┼čt─▒rd─▒ktan sonra kontrol edin . Anlayacaks─▒n. git uzak k├╝me dallar─▒ - add randomRemote randomBranch

  2. Run git fetch randomRemote . Bu uzak ┼čubeyi getirecektir.

  3. ┼×imdi ko┼čabilirsin git checkout randomBranch


2







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


2







┼×ubelerinizi ayr─▒ tutmak i├žin 'git pull' kullan─▒n. 'Lbranch' ve 'rbranch' de┼čifre etmek zor oldu─ču i├žin ger├žek repo ve bran┼č isimlerini kullanaca─č─▒m.

Kullanal─▒m:

  • myteam.unfuddle.com = uzak git sunucusu
  • tlc = deponun bulundu─ču proje hesab─▒n─▒n iptali
  • daves_branch = uzak dal ad─▒

    Siz veya herhangi bir meslekta┼č─▒n─▒z, ka├ž ┼čubeniz olursa olsun, yaln─▒zca ┼čubenizi ├žekmek i├žin bunu ├žal─▒┼čt─▒rabilirsiniz:

    Git Init
    git git [email protected]: myteam / tlc daves_branch: refs / uzaktan / kaynak / daves_branch
    


  • 1







    Basit bir komut - "git checkout remote_branch_name", uzak daldaki t├╝m de─či┼čiklikleri i├žeren yerel bir dal olu┼čturman─▒za yard─▒mc─▒ olacakt─▒r.


    0


    2018-01-19





     git checkout -b branch_name
    git pull remote_name branch_name
     

    -2


    2019-01-22

    ─░lgili yay─▒nlar


    Mevcut bir Git ┼čubesinin uzak bir ┼čubeyi izlemesini sa─člay─▒n

    Yerel bir git ┼čubesini uzak ┼čubeyle nas─▒l kar┼č─▒la┼čt─▒rabilirim?

    Yerel ┼čubeyi Git'teki uzak ┼čubeyle nas─▒l de─či┼čtiririm?

    Git uzak dal─▒ silindi, ancak yine de 'dal-a' da g├Âr├╝n├╝yor

    silinen uzak dallarla orijinden al─▒n─▒r m─▒?

    Git uzak erik, git erik, git fetch --prune, etc aras─▒ndaki farklar nelerdir?

    Git-svn'e repoyu ald─▒ktan sonra olu┼čturulan uzak bir ┼čubeden nas─▒l bahsedebilirim?

    git fetch t├╝m ┼čubeleri getirmiyor

    art─▒k bulunmayan uzak ┼čubeyi g├Âsteren 'git branch -av'

    Uzak dal "git dal-r" de g├Âr├╝nm├╝yor

    Etiketle ilgili di─čer sorular [git]


    Git'teki en son yerel taahh├╝tleri nas─▒l geri alabilirim?

    Python'da switch deyimi i├žin de─či┼čtirmeler?

    Matplotlib ile ├žizilen rakamlar─▒n boyutunu nas─▒l de─či┼čtirirsiniz?

    PowerShell, ÔÇťBu sistemde komut dizilerinin ├žal─▒┼čt─▒r─▒lmas─▒ devre d─▒┼č─▒ÔÇŁ diyor.

    Redis'e Kar┼č─▒ Memcached?

    Ruby'de rastgele bir say─▒ nas─▒l elde edilir

    Toplu i┼č dosyas─▒ndaki bir yeni sat─▒r─▒ nas─▒l ekleyebilirim?

    SQL Server'da char, nchar, varchar ve nvarchar aras─▒ndaki fark nedir?

    Bir diziyi JavaScript'te ├žo─čaltman─▒n en h─▒zl─▒ yolu - dilim - 'for' d├Âng├╝s├╝

    Java'daki getPath (), getAbsolutePath () ve getCanonicalPath () aras─▒ndaki fark nedir?