web-gelistirme-sc.com

git getir tüm dalları almıyor

Bir depoyu klonladım, daha sonra başka biri üzerinde çalışmaya başlamak istediğim yeni bir şube oluşturdu. Kılavuzu okudum ve kolay ölü gibi görünüyor. Garip bir şekilde çalışmıyor ve bulduğum tüm yazılar doğru olanı yaptığımı gösteriyor. Bu yüzden kendime kuzu patlamasına maruz kalacağım, çünkü orada zorunlu açıkça bu konuda yanlış bir şeyler olabilir:

Doğru eylem görünüyor olmak 

git fetch
git branch -a
* master
  remotes/Origin/HEAD --> Origin/master
  remotes/Origin/master
git checkout -b dev-gml Origin/dev-gml

Bu noktada bir sorun var, bir nedenden dolayı git fetch 'dan sonra dev-gml uzak dalını göremiyorum. Neden olmasın? Depoyu yeni bir şekilde klonlarsam, işte orada, bu yüzden kesinlikle uzaktaki şube var:

$ mkdir ../gitest
$ cd ../gitest
$ git clone https://github.com/example/proj.git
Cloning into proj...
remote: Counting objects: 1155, done.
remote: Compressing objects: 100% (383/383), done.
remote: Total 1155 (delta 741), reused 1155 (delta 741)
Receiving objects: 100% (1155/1155), 477.22 KiB | 877 KiB/s, done.
Resolving deltas: 100% (741/741), done.
$ cd projdir
$ git branch -a
* master
  remotes/Origin/HEAD -> Origin/master
  remotes/Origin/dev-gml
  remotes/Origin/master

Olası tüm izinlerde git update, git pull, git fetch --all, git pretty-please denedim.

113
Edward Newell

remote.Origin.fetch ayarını kontrol ederken sorun görülebilir
($ ile başlayan satırlar, yazdığım komutlarla bash komut istemleridir. Diğer satırlar ortaya çıkan çıktıdır)

$ git config --get remote.Origin.fetch
+refs/heads/master:refs/remotes/Origin/master

Gördüğünüz gibi, benim durumumda, uzaktan kumanda ana dalı özel olarak ve yalnızca getirecek şekilde ayarlandı. Sonuçları kontrol etmek için ikinci komut da dahil olmak üzere aşağıda belirtildiği gibi düzelttim.

$ git config remote.Origin.fetch "+refs/heads/*:refs/remotes/Origin/*"
$ git config --get remote.Origin.fetch
+refs/heads/*:refs/remotes/Origin/*

Tabii ki joker *, o yoldaki her şey anlamına gelir.

Ne yazık ki gördüm bu yorumu sonra zaten kazdık ve yanıtı deneme yanılma ile buldum.

225
AndASM

Yerel bir şube olarak (yeni) bir uzak dalı izlemek için:

git checkout -b <local branch> <remote>/<remote branch>

veya (bazen fazladan remotes/ olmadan çalışmaz):

git checkout -b <local branch> remotes/<remote>/<remote branch>

Edit:git remote update veya git remote update <remote> komutunu çalıştırmanız gerekir. Ardından uzaktaki dalları listelemek için git branch -r komutunu çalıştırabilirsiniz.

Yararlı git cheatsheets

40
philipvr

Bugün bu sorunu bir depoda gördüm. 

Üst çözüm başına +refs/heads/*:refs/remotes/Origin/* sorunu değildi.

Belirti basitçe, git fetch Origin veya git fetch 'nin bir şey yapmamış gibi görünmesiydi, ancak alınması gereken uzak dallar vardı.

Birçok şeyi denedikten sonra, Origin uzaktan kumandasını kaldırdım ve yeniden yarattım. Bu düzeltilmiş gibi görünüyor. Neden bilmiyorum.

ile kaldır: git remote rm Origin

ve ile yeniden oluşturun: git remote add Origin <git uri>

27
stux

Daha belirgin hale getirmek için Bir takip şubesi oluşturun, bu şimdi bir uzak şubeyi takip ettiğiniz anlamına gelir.

git branch --track branch remote-branch
git branch --track exp remotes/Origin/experimental

Bundan sonra yapabilirsin 

git branch   # to see the remote tracking branch "exp" created .

Sonra o şube üzerinde çalışmak için 

git checkout branchname
git checkout exp

Şubede değişiklik yaptıktan sonra. Git değişikliklerinizi birleştirmek için uzaktan izleme şubenizle git ve git ile birleştirebilirsiniz.

git fetch Origin
git merge Origin/experimental  
git Push Origin/experimental

Umarım yardımcı olur ve bunun nasıl çalıştığı hakkında bir fikir verir.

4
Swapna

terminalden yaz 

git fetch --Prune.

iyi çalışıyor.

2
Samet öztoprak

Bunun nedeni bir Palm anının yüzü olabilir: birkaç klon arasında geçiş yaparsanız, var olmayan bir dal çekmeye çalışan yanlış kaynak ağacında kendinizi bulmak kolaydır. Klonların benzer isimlere sahip olması veya depoların aynı proje için birden fazla katılımcıdan her birinin ayrı klonları olması daha kolaydır. Yeni bir git klonunun, asıl sorun odağını kaybettiği ya da çalışma bağlamını ya da her ikisini de kaybettiği zaman bu "sorunu" çözdüğü açıkça görülüyor. 

0
jerseyboy

Aynı problemi yaşadık ve kullanmak zorundasın. 

git fetch

git Push Origin branch_name

git branch -r

Umarım bu aynı sorunla karşı karşıya olan birine yardım eder

0
chazefate

GitExtensions Uzak Depolarıma girmek zorunda kaldım, çünkü burada çalışan hiçbir şey yoktu. Orada 2 şubenin yapılandırılmış uzak bir havuzu olmadığını gördüm. ayarladıktan sonra aşağıdaki gibi görünüyorenter image description here

Not dal noExternal3 hala uzak bir havuza sahip olmadığını gösteriyor. Hangi bash komutlarının kombinasyonunun bunu bulacağına ya da ayarlayacağına emin değilsiniz.

0
Maslow