Uzak Git şubesine nasıl göz atabilirim?


6713

Birisi davet testedilen bir şubeyi git push origin testpaylaşılan bir depoya itti . Şube ile birlikte görebiliyorum git branch -r.

Şimdi uzak testdalı kontrol etmeye çalışıyorum .

Denedim:

  • git checkout test hangisi yok

  • git checkout origin/testverir * (no branch). Hangi kafa karıştırıcı. "Şubesiz" nasıl olabilirim?

Uzak Git şubesine nasıl göz atabilirim?


9
@inger Ancak yeni yerel şubeyi yeniden adlandırma olanağını içermez (daha sonra - yukarı akış yukarı ayarlamak ve adlandırma tutarlılığını korumak istiyorsanız)
fachexot

15
Bence bu konu yararsızdır. Hiçbir şey işe yaramıyor gibi görünüyor, orijinal soru cevapların çoğunda kaybolmuş gibi görünüyor. Her kelimeyi okudum, aşağıdaki her şeyi denedim ve OP'nin ne yapmak istediğini bilmiyorum.
Tony Ennis

6
Git komutları başlamak için sezgisel değil, son sürümlerle sunulan değişiklikleri karışıma ekleyin ve bu sayfaya sahipsiniz ...
Christophe Roussy

14
Deli haplar alıyormuşum gibi hissediyorum. Ben upstreamsadece bir değil bir şube ödeme çalışıyorum originve önerilen her cevap uzaktan yararlı bir şey yapmaz (pun-amaçlı). EDIT - afedersiniz, ilk 2 cevapta yer alan birçok öneri işe yaramazdı; Üçüncüsü ( git branch test origin/test) işe yarıyor. Sevindim ilk 2 oy sayısı 20x var ...
dwanderson

4
Belki de çalışma ağacınızda 'test' adlı bir dosyanız var, ayrıntılar için stackoverflow.com/a/45006389/792416 adresine bakın .
oldman

Yanıtlar:


9151

Güncelleme

Jakub'un cevabı aslında bu konuda iyileşiyor . Git ≥ 1.6.6 sürümleriyle, yalnızca bir uzaktan kumandayla şunları yapabilirsiniz:

git fetch
git checkout test

Kullanıcı masukomi bir yorumda işaret ettiği gibi git checkout test, birden fazla uzaktan kumandaya sahipseniz modern git'te çalışmaz. Bu durumda kullanın

git checkout -b test <name of remote>/test

veya stenografi

git checkout -t <name of remote>/test

Eski Cevap

Uzak bir dalda yerel olarak çalışmaya başlamadan önce, aşağıdaki yanıtlarda belirtildiği gibi getirmeniz gerekir.

Bir dalı getirmek için yapmanız gerekenler:

git fetch origin

Bu, tüm uzak dalları sizin için getirecektir. Ödeme için uygun şubeleri şuralarla görebilirsiniz:

git branch -v -a

Uzak dallar elinizdeyken, şimdi yerel bir çalışma kopyası vererek, ilgilendiğiniz dalı kontrol etmeniz gerekir:

git checkout -b test origin/test

398
Bunu genişletmek için: git, başkasının dalları üzerinde çalışmanıza izin vermez. Sadece kendi başınıza çalışabilirsiniz. Yani başka birinin dalına eklemek istiyorsanız, o dalın kendi "kopyasını" oluşturmanız gerekir, bu yukarıdaki komutun yaptığı şeydir (dalınızı oluşturur ve kontrol eder).
Dan Moulding

139
Yeni bir uzak dal ise, git fetchgitmeden haberdar olmak için bunu yapmadan önce yapmanız gerekebilirorigin/test
Neil Sarkar

56
... ve bunu şu şekilde yaparsınızgit fetch origin test
Andrew

22
Hata: "git checkout: yolların güncellenmesi anahtarlama şubeleriyle uyumsuz. Taahhüt origin/testolarak çözülemeyen bir ödeme yapmak istediniz mi ?"
Xeoncross

85
git checkout testaynı şube adına sahip birden fazla uzaktan kumanda varsa , modern git'de çalışmaz . Hangisini kullanacağını bilemez.
masukomi

1256

Sidenote: Modern Git ile (> = 1.6.6 ), sadece

git checkout test

(büyülü DWIM -yıldız gerçekleştirmenin ve sizin için yukarı akış uzaktan izleme dalı 'orijin / test' olan yerel şube 'testi' oluşturmanın 'test' 'orijin / test' olmadığını unutmayın).


* (no branch)İçinde git branchçıkış vasıtası sen sözde "müstakil BAŞ" durumunda (BAŞ noktaları doğrudan taahhüt ve bazı yerel şubesine sembolik başvuru değil kadar), adsız dal üzerinde olduğunu. Bu adlandırılmamış dalda bazı taahhütler verdiyseniz, her zaman geçerli taahhütten yerel şubeler oluşturabilirsiniz:

git checkout -b test HEAD

** EDIT (editöre göre yazar değil ) **

Bu yanıtı modernize eden bir gömülü yorum buldum:

@Dennis: git checkout, örneğin git HEAD / isimsiz branşta git checkout orijin / test sonuçları, git checkout testi veya git checkout -b yerel branş testinde test orijin / test sonuçları (upstream olarak uzaktan izleme şube orijinli / test ile) ) - Jakub Narębski 9 Ocak 14:17

vurgu git checkout origin/test


33
Şaşırtıcı değil, ancak bu sürüm son birkaç yıl içinde piyasaya sürüldü - bu sözdiziminin bilinmesi çok zaman kazandırabilir, çünkü hala bunun için eski yöntemi öneren çok sayıda eski belge ve yorum dizisi var.
Curtis

10
"modern git" - kayıt için, (yaklaşık) hangi sürüme atıfta bulunuyorsunuz? Bazen daha eski dağıtımların çalıştığı sistemler üzerinde çalışmak zorundayız.
Craig McQueen

5
Bu bağlamda "modern git" git 1.6.6
Bobby Norton

10
@aidan Böyle bir yanıt error: pathspec 'branch_name' did not match any file(s) known to git.alırsanız, önce bir git getirmesi gerekir.
Dennis

6
Git sürüm 1.8.3.msysgit.0 kullanarak ve bu benim için çalışmıyor - git bilinen herhangi bir dosya (lar) ile eşleşmedi - Birçok git getirme yaptım
PandaWood

564

Bu durumda, muhtemelen testuzak testdalı izleyen yerel bir şube oluşturmak istersiniz :

$ git branch test origin/test

Önceki sürümlerinde, gitaçık bir --trackseçeneğe ihtiyacınız vardı , ancak uzak bir daldan ayrıldığınızda bu varsayılan değerdir.


15
Bu, geçiş yapmadan yerel bir dal oluşturur.
Alex Skrypnyk

2
Ölümcül olmama rağmen: Belirsiz nesne adı: 'origin / dev' - orijinli bir 'dev' dalı kesinlikle var - ama yanlışlıkla makinemde "origin / dev" adlı bir şube oluşturdum (önceki aptal girişimlerimde) şüphesiz doğru olsun) ... ah
PandaWood

1
Bu bana hata hatası veriyor: ipucu bazı refs itmek başarısız oldu: Bir itilen şube ipucu uzak ipucu: muadili arkasında olduğu için güncellemeler reddedildi. Bu şubeye göz atın ve tekrar basmadan önce uzaktan değişiklik ipucunu birleştirin: (örn. 'Git pull'). ipucu: Ayrıntılar için 'git push --help' içindeki 'Hızlı ileri sarma hakkında not'a bakın.
pal4life

475

Kabul edilen cevap sizin için çalışmıyor mu?

İlk ve seçilen cevap teknik olarak doğru olmakla birlikte , uzak depodan tüm nesneleri ve başvuruları henüz almadığınızdır. Bu durumda, aşağıdaki hatayı alırsınız:

$ git checkout -b remote_branch origin/remote_branch

fatal: git checkout: yolların güncellenmesi anahtarlama dalları ile uyumsuz.
Taahhüt olarak çözülemeyen 'origin / remote_branch' hesabını kontrol etmeyi düşündünüz mü?

Çözüm

Bu iletiyi alırsanız, çalıştırmadan önce uzak deponun adının git fetch originbulunduğu yeri yapmanız gerekir . İşte yanıtları içeren tam bir örnek:origingit checkout remote_branch

$ git fetch origin
remote: Counting objects: 140, done.
remote: Compressing objects: 100% (30/30), done.
remote: Total 69 (delta 36), reused 66 (delta 33)
Unpacking objects: 100% (69/69), done.
From https://github.com/githubuser/repo-name
   e6ef1e0..5029161  develop    -> origin/develop
 * [new branch]      demo       -> origin/demo
   d80f8d7..359eab0  master     -> origin/master

$ git checkout demo
Branch demo set up to track remote branch demo from origin.
Switched to a new branch 'demo'

Gördüğünüz gibi, git fetch originherhangi bir uzak dalı çalıştırdığımızda henüz yerel makinemizde takip etmek için kurulmadık. Oradan, artık uzak dal için bir refere sahip olduğumuzdan, basitçe koşabiliriz git checkout remote_branchve uzaktan izlemenin avantajlarını elde ederiz.


2
Yerel olarak ayrı bir dalınız varsa bir not ekleyeceğim: 'git remote add origin [the_path_to_your_repo / repo_name.git]' kullanarak bunu uzaktan repo ile ilişkilendirdiğinizden emin olun. Ardından 'git fetch origin' kullanın; burada 'origin', ilişkilendirdiğiniz kaynak deposunu ifade eder.
elliotrock

git checkout -b newbranchayrıca mevcut adımı temel alan yeni bir şube oluşturmak ve 1 adımda harika çalışır.
Linus

2
Bence bu en güncel ($ @ #! İng değişen!) Tutar. Git 2.5.5 Uzaktaki dalları gerçekten görmenin tek yolunu buldum ve git ls-remoteaslında bir tane kullanmanın tek yolu git checkout -b [branch] --track [remote/branch]... ve işten sonra git pull [remote] [branch] . Yani, aslında tüm dalı çekti, ama yine de listelemedi.
delicateLatticeworkFever

ve bu yanıtın ya çalışmadığında, bkz bu bir .
eis

sadece eklemek için, eğer sen git fetch other_remote only_branch, hala fatalhatayı alıyorsun . git fetch other_remoteŞube adı olmadan yapmak zorundasınız . Tuhaf tasarım.
est

258

Yukarıdaki çözümü denedim, ama işe yaramadı. Bunu deneyin, işe yarıyor:

git fetch origin 'remote_branch':'local_branch_name'

Bu uzak dalı getirir ve adıyla yeni bir yerel şube oluşturur (zaten yoksa) ve uzaktaki dalı local_branch_nameizler.


37
Git gitme kaynağı veya git uzaktan güncelleme yerel şubeleri oluşturmadığında bu benim için çalıştı. Neden olduğundan emin değilim.
Godsmith

4
Bu, ihtiyaç duyduğum şeyi başarmanın en doğrudan yoluydu ve yeni bir şube oluşturmak için uzak bir dal (master değil) kullanmaktı.
Roralee

7
Özellikle birden çok dalı olan bir uzaktan kumandadan tek bir dalı klonlarken sorunsuz çalıştı.
Alex C

7
Bu benim için de işe yaradı, kabul edilen cevaplar ve diğer yüksek oylar işe yaramadı. Git
sürümüm

5
Bunun neden her şey yolunda gitmediği hakkında bir fikri olan var mı? (Git 2.13.0)
Nathan Arthur

108

Bu, adlandırılmamış bir uzak konum için DWIM ( dokümantasyon ):

$ git checkout -t remote_name/remote_branch

Yeni bir uzaktan kumanda eklemek için önce aşağıdakileri yapmanız gerekir:

$ git remote add remote_name location_of_remote
$ git fetch remote_name

Birincisi Git'e uzaktan kumandanın var olduğunu, ikincisinin taahhütleri aldığını söyler.


104

kullanın:

git checkout -b <BRANCH-NAME> <REMOTE-NAME>/<BRANCH-NAME>

Diğer cevaplar iyi huylu davamda modern Git ile çalışmaz. Uzak şube yeni ise önce çekmeniz gerekebilir, ancak bu durumu kontrol etmedim.


2
Bunun bu cevabın
Thomas Ayoub

14
Şimdi baktıklarında örtüşüyorlar. Sadece benim özümdür ve size bir hikaye anlatmak yerine ne yapmanız gerektiğini söyler. Bu nedenle, özellikle bugünlerde git sürümleri için daha yararlı olabileceğini düşünüyorum. Kötü bir cevap olduğunu düşünüyorsanız, bunu aşağıya aktarabilirsiniz.
matanster

1
git getirme güvenli seçenektir. Çekmeyi kullanmadan önce getirmeyi deneyin. Her ikisi de uzak içeriği indirir, ancak getirme yerel durumu değiştirmezken, çekme hemen yerel durumu değiştirir.
Peter Szalay

89

Tamam , cevap kolay ... Temel olarak şubeyi görüyorsunuz, ancak henüz yerel bir kopyanız yok! ...

Şubeye ihtiyacınız var fetch...

Şube getirip ardından ödeme yapabilirsiniz, bunu yapmak için aşağıdaki tek satır komutunu kullanın:

git fetch && git checkout test

Ayrıca, farklılıkları paylaşmanız, nasıl fetchçalıştığına ve bunun nasıl farklı olduğuna bakmanız için aşağıdaki resmi oluşturdum pull:

git getir


@DmitriZaitsev evet, eğer uzak şube oradaysa ve alırsanız, şubeyi yerel olarak alacaksınız ... git fetch && git checkout test..Bu uzak şube olmadığı sürece çalışır, ancak orada zaten uzak bir şube olduğunu söyleyerek soru ...
Alireza

Soruyu görme testşeklim yeni bir dal gibi görünüyor, bu yüzden yerel olarak mevcut olması muhtemel değil. Aksi takdirde tek git pullkomutla daha kolay çekebilirsiniz .
Dmitri Zaitsev

@DmitriZaitsev, evet, bu yüzden git getirme dedim, yeni oluşturulan uzak dalları kontrol et, çek, diğer istenmeyen maddeleri getirebilir, ancak repo yerel olarak zaten varsa getir, tüm dalları kullanılabilir hale getirir ...
Alireza

Değil mi fetcholmadan pull, zorlama kopyasında izin değişiklikleri ancak yerel dalında yerel şubesine gelen kadar güncel olmayan?
Dmitri Zaitsev

56

Git deposunu klonlamak için şunları yapın:

git clone <either ssh url /http url>

Yukarıdaki komut tüm şubeleri kontrol eder, ancak yalnızca masterşube başlatılır. Diğer şubelere göz atmak istiyorsanız, şunları yapın:

git checkout -t origin/future_branch (for example)

Bu komut uzak dalı denetler ve yerel dal adınız uzak dal ile aynı olur.

Ödeme sırasında yerel şube adınızı geçersiz kılmak istiyorsanız:

git checkout -t -b enhancement origin/future_branch

Şimdi yerel şube adınız enhancement, ancak uzak şube adınız future_branch.

belgeleme


git clone <ya ssh url / http url> - benim için mükemmel çalışıyor
Kmeixner

Evet haklısın. Bilginiz için teşekkürler, çok yakında güncelleyeceğim @warvariuc
Madhan Ayyasamy

Uzaktan kumandada hayır varsa master, bu işe yaramaz.
polkovnikov.ph

36

Deneyebilirsin

git fetch remote
git checkout --track -b local_branch_name origin/branch_name

veya

git fetch
git checkout -b local_branch_name origin/branch_name

2
FYI, git'in --trackdaha yeni sürümlerinde artık gerekli değildir, çünkü bu önceki yanıtta açıklandığı gibi varsayılan olarak ayarlanmıştır .

33

İlk olarak şunları yapmanız gerekir:

git fetch # Şube adını bilmiyorsanız

git fetch origin branch_name

İkincisi, yerel şubenize uzak şubeyi şu yollarla kontrol edebilirsiniz:

git checkout -b branch_name origin/branch_name

-b seçtiğiniz uzak daldan belirtilen adda yeni dal oluşturur.


Anlamıyorum -b. Eğer "git checkout master" yapabiliyorsanız neden "git checkout origin / test" yapamıyorsunuz?
John Little

/ master olan yeni dal için b
Mohideen bin Muhammed

28

Aşağıdaki komutu kullanıyorum:

git checkout --track origin/other_remote_branch

13
Bu yanıtı neden bu şekilde kullandığınızı açıklarsanız, bu cevap çok daha yararlı olacaktır. yani neden birileri '--track' vb. kullanmalıdır ...
Matt Friedman

27

Komutları

git fetch --all
git checkout -b <ur_new_local_branch_name> origin/<Remote_Branch_Name>

eşittir

 git fetch --all

ve sonra

 git checkout -b fixes_for_dev origin/development

İkisi yaratacak latest fixes_for_devdandevelopment


24

Şube originuzaktan kumanda dışında başka bir şeydeyse aşağıdakileri yapmak istiyorum:

$ git fetch
$ git checkout -b second/next upstream/next

Bu next, upstreamuzaktan kumandadaki şubeyi adlı yerel bir şubeye teslim eder second/next. Bu, şu anda sonraki adında bir yerel şubeniz varsa, çakışma olmayacağı anlamına gelir.

$ git branch -a
* second/next
  remotes/origin/next
  remotes/upstream/next


18

bu cevapların hiçbiri işe yaramadı. bu işe yaradı:

git checkout -b feature/branch remotes/origin/feature/branch


1
Teşekkürler. Komut çağırırken gördüğüm tam yolu ( uzaktan kumandalar / kökeni / özellik / şube ) kullanmak zorunda mıydım , ama emin değildim, bu yüzden sadece kullandım ve işe yaradığı ortaya çıktı. Mesaj:gitgit branch -agit checkout -b apps/FEATURE/branch origin/apps/FEATURE/branchBranch 'apps/FEATURE/branch' set up to track remote branch 'apps/FEATURE/epicBranch' from 'origin'. Switched to a new branch 'apps/FEATURE/branch'
Chris22

18

error: pathspec 'desired-branch' did not match any file(s) known to git.Yukarıdaki önerilerin tümünü gören bir durumda takılıp kaldım . Git 1.8.3.1 sürümündeyim.

Bu benim için çalıştı :

git fetch origin desired-branch
git checkout -b desired-branch FETCH_HEAD

Arkadaki açıklama, uzak dalı getirirken FETCH_HEAD'e getirildiğini fark ettim:

$ git fetch origin desired-branch
From github.com:MYTEAM/my-repo
    * branch            desired-branch -> FETCH_HEAD

17

git checkoutUzak dalın adıyla çalıştırın . Git otomatik olarak uzak olanı izleyen bir yerel şube oluşturur :

git fetch
git checkout test

Ancak, bu dal adı birden fazla uzaktan kumandada bulunursa Git kullanılamaz. Bu durumda aşağıdakilerden birini kullanabilirsiniz:

git checkout --track origin/test

veya

git checkout -b test origin/test

Gelen 2.19 , Git öğrenilen checkout.defaultRemoteböyle bir belirsizliğin çözümlerken varsayılan bir uzaktan kumanda belirten yapılandırmayı.


16

git branch -rnesne adı geçersiz, çünkü bu şube adı Git'in yerel şube listesinde değil. Yerel şube listenizi başlangıç ​​noktasından güncelleyin:

git remote update

Ve sonra uzak şubenizi tekrar kontrol etmeyi deneyin.

Bu benim için çalıştı.

Tüm uzak dalları git fetchçektiğine inanıyorum , bu orijinal posterin istediği şey değil.


2
FYI, git remote update tüm uzak dalları da getirecek .

13

git remote show <origin name>Komutu (un-izlenen dallar dahil) tüm şubeleri listeler. Ardından, getirmeniz gereken uzak dal adını bulabilirsiniz.

Misal:

$ git remote show origin

Uzak dalları almak için şu adımları kullanın:

git fetch <origin name> <remote branch name>:<local branch name>
git checkout <local branch name > (local branch name should the name that you given fetching)

Misal:

$ git fetch origin test:test
$ git checkout test

@hallski 2.15.1 sürümleri çalışmıyor cevap verdi ama - .pth bayrağı ile sadece 1 şube ve filtre geçmişi .git dosyası ağırlık klon azaltın. örneğin $ git clone -b release --single-branch --depth 5 https://github.com/user/repo.gitWron't bilgileri, $ git remote show originbu, tek dal klonlanmış depolara sahip tüm uzak dalları listelemez.
Qh0stM4N

10

Uzaktan kumandadan getirin ve şubeyi kontrol edin.

git fetch <remote_name> && git checkout <branch_name> 

Örneğin:

git getirme orijini && git ödeme özelliği / XYZ-1234-Uyarı ekle


9

Diğer adamlar ve kızlar çözümler veriyor, ama belki nedenini söyleyebilirim.

hiçbir şey yapmayan git çıkış testi

Does nothingeşit değil doesn't work, bu yüzden sanırım terminalinize 'git checkout test' yazıp enter tuşuna bastığınızda mesaj görünmüyor ve hata oluşmuyor. Haklı mıyım?

Cevap 'evet' ise, sebebini söyleyebilirim.

Bunun nedeni, çalışma ağacınızda 'test' adlı bir dosya (veya klasör) olmasıdır.

Ne zaman git checkout xxxçözümlenir,

  1. Git başlangıçta xxxbir şube adı olarak görünür , ancak test adında bir şube yoktur.
  2. Sonra Git xxxbir yol olduğunu düşünüyor ve neyse ki (ya da ne yazık ki) test adlı bir dosya var. Yani dosyadaki git checkout xxxherhangi bir değişikliği silmek anlamına gelir xxx.
  3. xxxİkisinde de dosya yoksa Git, xxxbazı kurallara göre oluşturmaya çalışır . Kurallardan biri adında bir şube oluşturmak olduğunu xxxeğer remotes/origin/xxxvar.

teşekkürler, git neden hiçbir şey yapmadığını anlamaya çalışıyordu.
Mike R

8

Yeni oluşturulan şubeler edinmek için

git fetch

Başka bir şubeye geçmek için

git checkout BranchName

6

Aşağıdaki Bash komut dosyasıyla tüm uzak dalları izlemeye başlayabilirsiniz:

#!/bin/bash
git fetch --all
for branch in `git branch -r --format="%(refname:short)" | sed 's/origin\///'`
  do git branch -f --track "$branch" "origin/$branch"
done

İşte tek satırlı bir sürüm:

git fetch --all; for branch in `git branch -r --format="%(refname:short)" | sed 's/origin\///'`; do git branch --track "$branch" "origin/$branch" ; done ;

5

git checkout -b "Branch_name" [B, Yerel şube oluştur anlamına gelir]

git branch --all

git checkout -b "Şube adınız"

git şubesi

ana şubeden geliştirici şubeye başarıyla ödeme

resim açıklamasını buraya girin


git checkout -b "Branch_name" [B, yerel şube oluşturma anlamına gelir]
Keshav Gera

3

tüm uzak dalları almak için şunu kullanın:

git fetch --all

daha sonra şubeye ödeme yapın:

git checkout test

2

fetchTüm uzaktan kumandanızı çekmek için kullanın

   git fetch --all

Uzak dalları listelemek için:

   git branch -r

Tüm şubelerinizi listelemek için

   git branch -l
   >>outpots like-
     * develop
       test
       master

Bir şubeyi satın almak / değiştirmek için

   git checkout master

Denendi git branch -lve uzak dal gösterilmedi.
Dmitri Zaitsev

kullanın git pull --allveyagit fetch --all
Nasir Khan

Evet ve bundan sonra git branch -l hala sadece yerel şubeler gösteriyor . Tam olarak git brancholmadığı gibi çalışıyor gibi görünüyor -l, sebebi ne -l?
Dmitri Zaitsev

Ayrıca cevabınız soruyu cevaplamıyor - masteruzak bir dal değil.
Dmitri Zaitsev

1
-llistesi için bayrak. Sen kullanabilirsiniz --listçok
Nasır Khan

2

Bizim için, remote.origin.fetchkonfigürasyonun bir sorun yarattığı görülüyor . Bu nedenle, başka uzak dalları göremedik master, bu yüzden git fetch [--all]yardımcı olmadı. Kesinlikle uzak olmasına rağmen ne git checkout mybranchde git checkout -b mybranch --track origin/mybranchne işe yaramadı.

Önceki yapılandırmanın yalnızca getirilmesine izin verildi master:

$ git config --list | grep fetch
remote.origin.fetch=+refs/heads/master:refs/remotes/origin/master

Kullanarak düzeltin *ve yeni bilgileri başlangıç ​​noktasından getirin:

$ git config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*'

$ git fetch
...
 * [new branch] ...
...

Şimdi git checkoutuzak şubeyi yerel olarak yapabiliriz.

Bu konfigürasyonun yerel depomuza nasıl geldiğine dair bir fikrim yok.


1
Tek bir dalı klonladığım için bu benim için çözdü
Pontus Holmbom

2

Uzak dal adı özel karakterlerle başlıyorsa, ödeme komutunda etrafında tek tırnak kullanmanız gerekir, aksi takdirde git hangi daldan bahsettiğinizi bilemez.

Örneğin, olarak adlandırılan uzak bir dalı kullanıma almaya çalıştım, #9773ancak aşağıdaki resimde gösterildiği gibi komut düzgün çalışmadı:

resim açıklamasını buraya girin

Bir nedenden ötürü, keskin sembolün (#) onunla bir ilgisi olup olmadığını merak ettim ve daha sonra şube adını tek tırnaklarla çevrelemeyi denedim, '#9773'sadece rathen gibi #9773ve neyse ki iyi çalıştı.

$ git checkout -b '#9773' origin/'#9773'

Birçok unix kabuğunda #karakter yorumlar için kullanılır, bu nedenle #irade sonrasındaki her şey göz ardı edilir. Bu bir kabuk şey ve git'e özgü bir şey değil. Önce bir ters eğik çizgi tırnak kullanmak #yeterli olmalıdır.
Paulo Scardine

1

Boş bir klasör oluşturmak için lütfen komutu takip edin. Bunu girin ve şu komutu kullanın:

saifurs-Mini:YO-iOS saifurrahman$ git clone your_project_url
Cloning into 'iPhoneV1'...
remote: Counting objects: 34230, done.
remote: Compressing objects: 100% (24028/24028), done.
remote: Total 34230 (delta 22212), reused 15340 (delta 9324)
Receiving objects: 100% (34230/34230), 202.53 MiB | 294.00 KiB/s, done.
Resolving deltas: 100% (22212/22212), done.
Checking connectivity... done.
saifurs-Mini:YO-iOS saifurrahman$ cd iPhoneV1/
saifurs-Mini:iPhoneV1 saifurrahman$ git checkout 1_4_0_content_discovery
Branch 1_4_0_content_discovery set up to track remote branch 1_4_0_content_discovery from origin.
Switched to a new branch '1_4_0_content_discovery'
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.