pengembangan-web-mp-pd.com

Bagaimana cara mendaftar semua cabang jarak jauh di Git 1.7+?

Saya sudah mencoba git branch -r, tetapi hanya mencantumkan cabang jarak jauh yang telah saya lacak secara lokal. Bagaimana cara menemukan daftar yang belum saya miliki? (Tidak masalah bagi saya apakah perintah tersebut mencantumkan semua cabang jarak jauh atau hanya cabang yang tidak dilacak.)

483
James A. Rosen

remote show menunjukkan semua cabang pada remote, termasuk yang tidak dilacak secara lokal dan bahkan yang belum diambil.

git remote show <remote-name>

Itu juga mencoba untuk menunjukkan status cabang relatif terhadap repo lokal Anda:

> git remote show Origin
* remote Origin
  Fetch URL: C:/git/.\remote_repo.git
  Push  URL: C:/git/.\remote_repo.git
  HEAD branch: master
  Remote branches:
    branch_that_is_not_even_fetched new (next fetch will store in remotes/Origin)
    branch_that_is_not_tracked      tracked
    branch_that_is_tracked          tracked
    master                          tracked
  Local branches configured for 'git pull':
    branch_that_is_tracked merges with remote branch_that_is_tracked
    master                 merges with remote master
  Local refs configured for 'git Push':
    branch_that_is_tracked pushes to branch_that_is_tracked (fast-forwardable)
    master                 pushes to master                 (up to date)
148
Klas Mellbourn
git branch -a | grep remotes/*
46
Idan K

Menggunakan git branch -r mencantumkan semua cabang jarak jauh dan git branch -a mencantumkan semua cabang di lokal dan jarak jauh. Daftar ini sudah usang. Agar daftar ini tetap terbaru, jalankan

git remote update --Prune

yang akan memperbarui daftar cabang lokal Anda dengan semua yang baru dari jarak jauh dan menghapus yang sudah tidak ada lagi. Menjalankan perintah pembaruan ini tanpa --Prune akan mengambil cabang baru tetapi tidak menghapus yang tidak lagi pada remote.

Anda dapat mempercepat pembaruan ini dengan menentukan remote, jika tidak maka akan menarik pembaruan dari semua remote yang telah Anda tambahkan, seperti itu

git remote update --Prune Origin
36
Nicholas Gronow

Tapi 

git branch -ar

harus melakukannya.

29
Seakayone

Git Branching - Cabang Terpencil

git ls-remote

Dokumentasi Git .

17

Anda juga dapat melakukan git fetch diikuti oleh git branch -r. Tanpa mengambil Anda tidak akan melihat cabang-cabang terbaru.

17
Max Sohrt

Cara paling sederhana yang saya temukan:

git branch -a
9

TL; TR;

Ini adalah solusi dari masalah Anda:

git remote update --Prune    # To update all remotes
git branch -r                # To display remote branches

atau:

git remote update --Prune    # To update all remotes
git branch <TAB>             # To display all branches
5
simhumileco

Perintah terbaik untuk menjalankan adalah git remote show [remote]. Ini akan menampilkan semua cabang, jarak jauh dan lokal, dilacak dan tidak terlacak.

Berikut ini contoh dari proyek sumber terbuka:

> git remote show Origin
* remote Origin
  Fetch URL: https://github.com/OneBusAway/onebusaway-Android
  Push  URL: https://github.com/OneBusAway/onebusaway-Android
  HEAD branch: master
  Remote branches:
    Amazon-rc2                   new (next fetch will store in remotes/Origin)
    Amazon-rc3                   new (next fetch will store in remotes/Origin)
    arrivalStyleBDefault         new (next fetch will store in remotes/Origin)
    develop                      tracked
    master                       tracked
    refs/remotes/Origin/branding stale (use 'git remote Prune' to remove)
  Local branches configured for 'git pull':
    develop merges with remote develop
    master  merges with remote master
  Local refs configured for 'git Push':
    develop pushes to develop (local out of date)
    master  pushes to master  (up to date)

Jika kita hanya ingin mendapatkan cabang jarak jauh, kita bisa menggunakan grep. Perintah yang ingin kita gunakan adalah:

grep "\w*\s*(new|tracked)" -E

Dengan perintah ini:

> git remote show Origin | grep "\w*\s*(new|tracked)" -E
    Amazon-rc2                   new (next fetch will store in remotes/Origin)
    Amazon-rc3                   new (next fetch will store in remotes/Origin)
    arrivalStyleBDefault         new (next fetch will store in remotes/Origin)
    develop                      tracked
    master                       tracked

Anda juga dapat membuat alias untuk ini:

git config --global alias.branches "!git remote show Origin | grep \w*\s*(new|tracked) -E"

Kemudian Anda bisa menjalankan git branches.

5
Anubian Noob

Dengan GitBash, Anda dapat menggunakan:

cabang git -a

3
ISSAM RESS

Pastikan bahwa Asal remote yang Anda daftarkan benar-benar repositori yang Anda inginkan dan bukan tiruan yang lebih lama.

0
user3737174

Menggunakan Perintah ini,

git log -r --oneline --no-merges --simplify-by-decoration --pretty=format:"%n %Cred CommitID %Creset: %h %n %Cred Remote Branch %Creset :%d %n %Cred Commit Message %Creset: %s %n"


CommitID       : 27385d919 
Remote Branch  : (Origin/ALPHA) 
Commit Message :  New branch created

Daftar semua cabang jarak jauh termasuk komit pesan, komit ID yang disebut oleh cabang jauh.

0
Nayagam

coba ini....

git fetch Origin
git branch -a
0
Ashish Mehta

Saya akhirnya melakukan pipa Shell berantakan untuk mendapatkan apa yang saya inginkan, baru saja menggabungkan cabang dari Origin asal:

git branch -r --all --merged \
    | tail -n +2 \
    | grep -P '^  remotes/Origin/(?!HEAD)' \
    | Perl -p -e 's/^  remotes\/Origin\///g;s/master\n//g'
0
ThorSummoner

Saya akan menggunakan:

git branch -av

Perintah ini tidak hanya menampilkan daftar semua cabang, termasuk cabang jarak jauh yang dimulai dengan /remote tetapi juga memberi Anda umpan balik * tentang apa yang Anda perbarui dan komit terakhir.

0
prosti