Paano mag-check ng remote git branch?

May nag-click sa isang branch na may panga>test may git push origin test isang karaniwang repository. Nakikita ko ang sangay na may git branch -r .

Ngayon sinusubukan ko na subukan ang remote branch test .

Sinubukan ko:

  • git checkout test na wa>

  • git checkout origin/test nagbibigay * (no branch) . Nakakalito ito. Paano ako magiging "wa>

Paano mag-check ng remote git branch?

5758
23 нояб. itinakda ni Juri Glass noong Nobyembre 23 2009-11-23 17:23 '09 sa 17:23 2009-11-23 17:23
@ 26 sagot

I-refresh

Ang sagot ni Jacob ay talagang nagpapabuti dito. Sa mga bersyon ng Git ≥ 1.6.6 na may isang remote, maaari mo lamang:

 git fetch git checkout test 

Gaya ng mga tala ng user masukomi sa komento, ang git checkout test ay HINDI magtrabaho sa modernong git kung mayroon kang maraming mga console. Sa kasong ito, gamitin

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

o shorthand

 git checkout -t <name of remote>/test 

Old answer

Bago ka magsimula ng lokal na trabaho sa isang malayong sangay, kai>

Upang makakuha ng sangay, kai>

 git fetch origin 

Dadalhin ka nito sa lahat ng remote na sanga. Maaari mong makita ang mga sanga na magagamit para sa pag-order sa:

 git branch -v -a 

Ngayon na mayroon kang malayong mga sanga, kai>

 git checkout -b test origin/test 
7947
23 нояб. Ang sagot ay ibinigay hallski Nobyembre 23. 2009-11-23 17:26 '09 sa 5:26 pm 2009-11-23 17:26

Sidenote: Gamit ang modernong Git (> = 1.6.6 ) maaari mo lamang gamitin

 git checkout test 

(tandaan na ito ay 'test' hindi 'pinanggalingan / pagsubok') upang maipatupad ang magic DWIM -mery at lumikha para sa iyo ng isang pagsubok na lokal na sangay na kung saan ang salungat sa agos ay magiging remote na bakas ng "pinagmulan / pagsubok".

border=0

Ang output * (no branch) sa git branch nangangahulugan na ikaw ay nasa isang wa>

 git checkout -b test HEAD 
1147
24 нояб. Sagot na ibinigay ni Jakub Narębski Nobyembre 24 2009-11-24 03:17 '09 sa 3:17 2009-11-24 03:17

Sa kasong ito, marahil ay nais mong lumikha ng isang lokal na test branch na sumusubaybay sa remote test branch:

 $ git branch test origin/test 

Sa mas naunang mga bersyon ng git kai>--track opsyon --track , ngunit ito ang default na ngayon kapag --track ka ng isang remote na branch.

508
23 нояб. ang sagot ay binibigyan ng ndim Nobyembre 23. 2009-11-23 17:27 '09 sa 17:27 2009-11-23 17:27

Ang tinatanggap na sagot ay hindi gumagana para sa iyo?

Habang ang una at napiling sagot ay tama sa teknikal, may posibilidad na hindi mo pa natatanggap ang lahat ng mga bagay at mga link mula sa remote repository. Kung gayon, makakakuha ka ng sumusunod na error:

 $ git checkout -b remote_branch origin/remote_branch 

nakamamatay: git checkout: pag-update ng mga landas ay hindi tugma sa paglipat ng mga sanga.
Nais mo bang suriin ang "pinagmulan / remote_branch", na hindi maaaring malutas bi>

Solusyon

Kung natanggap mo ang mensaheng ito, kai>git fetch origin , kung saan origin ang pangalan ng remote repository bago tumakbo git checkout remote_branch . Narito ang isang kumpletong halimbawa sa mga sagot:

 $ 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' 

Tulad ng iyong nakikita, kapag tumakbo kami git fetch origin nakuha na mga remote na sangay, hindi pa namin naka-configure ang pagsubaybay sa aming lokal na makina. Mula doon, dahil mayroon na kaming isang link sa isang remote na sangay, maaari lamang naming patakbuhin ang git checkout remote_branch , at makukuha namin ang mga pakinabang ng remote na pagsubaybay.

421
07 дек. Sumagot na ibinigay ni Corey Ballou 07 Dis 2012-12-07 23:52 '12 sa 11:52 pm 2012-12-07 23:52

Sinubukan ko ang solusyon sa itaas, ngunit hindi ito gumana. Subukan ito, gumagana ito:

 git fetch origin 'remote_branch':'local_branch_name' 

Ito ay hahantong sa malayong sanga at lumikha ng isang bagong lokal na sangay (kung wala ito) na may pangalan na local_branch_name at subaybayan itong tinanggal.

208
18 окт. sagot na ibinigay ni Sahil kalra 18 oct. 2013-10-18 08:55 '13 sa 8:55 2013-10-18 08:55

Ito ang DWIM para sa wa>pangalan na remote na pangalan ( dokumentasyon ):

 $ git checkout -t remote_name/remote_branch 

Upang magdagdag ng bagong remote control, kai>

 $ git remote add remote_name location_of_remote $ git fetch remote_name 

Ang una ay nagsasabi sa Git na malayuang pag-access, ang pangalawang nakakakuha ay nakagawa.

104
28 апр. sumagot tacaswell 28 Abr 2012-04-28 01:37 '12 sa 1:37 2012-04-28 01:37

Gamitin ang:

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

Ang iba pang mga sagot ay hindi gumagana sa modernong Git sa aking mabait na kaso. Maaaring kai>

98
21 февр. Ang sagot ay ibinigay sa pamamagitan ng matanster noong Pebrero 21. 2016-02-21 13:58 '16 sa 1:58 pm 2016-02-21 13:58

Well , ang sagot ay simple ... Karaniwan kang nakikita ang isang sangay, ngunit wala kang lokal na kopya! ...

Kai>fetch branch ...

Maaari mo lamang matanggap at pagkatapos ay ilagay ang isang order sa isang sangay gamit ang isang linya ng utos sa ibaba upang gawin ito:

 git fetch  git checkout test 

Gumawa rin ako ng isang imahe sa ibaba upang maibahagi mo ang iyong mga pagkakaiba, tingnan kung paano gumagana ang fetch at kung paano pull :

2019

05 сент. Ang sagot ay ibinigay na Alireza Sept. 05. 2017-09-05 17:20 '17 sa 5:20 ng hapon 2017-09-05 17:20

Upang i-clone ang Git repository, patakbuhin ang:

 git clone <either ssh url /http url> 

Sinuri ng utos sa itaas ang lahat ng mga sanga, ngunit lamang ang sangay ng sangay ay sisimulan. Kung nais mong suriin ang iba pang mga sanga, sundin ang mga hakbang na ito:

 git checkout -t origin/future_branch (for example) 

Sinusubaybayan ng command na ito ang remote branch, at ang pangalan ng iyong lokal na sangay ay kapareho ng remote na sangay.

Kung gusto mong i-override ang pangalan ng lokal na branch sa checkout:

 git checkout -t -b enhancement origin/future_branch 

Ngayon ang pangalan ng iyong lokal na sangay ay enhancement , ngunit ang pangalan ng iyong remote branch ay future_branch .

Dokumentasyon

48
21 янв. ang sagot ay ibinigay Madhan Ayyasamy Enero 21 2013-01-21 13:04 '13 sa 13:04 2013-01-21 13:04

Maaari mong subukan

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

o

 git fetch git checkout -b local_branch_name origin/branch_name 
31
24 марта '14 в 16:11 2014-03-24 16:11 ang sagot ay ibinigay uma Marso 24, '14 sa 16:11 2014-03-24 16:11

Una, kai>

git fetch # Kung hindi mo alam ang pangalan ng sangay

 git fetch origin branch_name 

Pangalawa, maaari mong suriin ang remote na sangay sa iyong lokal na:

 git checkout -b branch_name origin/branch_name 

-b ay lilikha ng isang bagong sangay sa tinukoy na pangalan mula sa napiling remote branch.

27
18 мая '17 в 16:55 2017-05-18 16:55 Ang sagot ay ibinigay ni Mohideen ibn Mohammed noong Mayo 18 '17 sa 16:55 2017-05-18 16:55

Mga Koponan

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

ay pantay

  git fetch --all 

at pagkatapos

  git checkout -b fixes_for_dev origin/development 

Ang parehong ay lilikha ng latest fixes_for_dev mula sa development

25
21 апр. ang sagot ay ibinigay ng sreekumar Abril 21 2016-04-21 22:10 '16 sa 10:10 pm 2016-04-21 22:10

Ginagamit ko ang sumusunod na utos:

 git checkout --track origin/other_remote_branch 
23
06 сент. ang sagot ay binibigyan ng priyankvex 06 sep . 2017-09-06 17:41 '17 sa 5:41 ng hapon 2017-09-06 17:41

Kung ang sangay ay nasa isang bagay maliban sa remote na origin , gusto kong gawin ang mga sumusunod:

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

Susuriin nito ang next branch sa remote upstream server sa lokal na sangay na pinangalanang second/next . Nangangahulugan ito na kung mayroon ka nang isang lokal na sangay na pinangalanang susunod, hindi ito magkakasalungatan.

 $ git branch -a * second/next remotes/origin/next remotes/upstream/next 
22
01 марта '13 в 13:00 2013-03-01 13:00 Ang sagot ay ibinigay ni Kris noong Marso 01 '13 sa 13:00 2013-03-01 13:00

git fetch git checkout your-branch-name

15
26 марта '14 в 10:00 2014-03-26 10:00 ang sagot ay ibinigay kay Inder Kumar Rathore sa Marso 26 '14 sa 10:00 2014-03-26 10:00

git branch -r nagsasabi na ang pangalan ng bagay ay hindi wasto dahil ang pangalan ng sangay na ito ay wala sa listahan ng mga lokal na sangay ng Git. I-update ang iyong lokal na listahan ng sangay mula sa pinagmulan sa:

 git remote update 

At pagkatapos ay subukan muli upang suriin ang remote na sangay.

Nagtrabaho ito para sa akin.

Naniniwala ako na git fetch sa lahat ng mga malayong sanga, na hindi nais ng orihinal na poster.

15
06 июня '13 в 15:21 2013-06-06 15:21 ang sagot ay ibinigay sa pamamagitan ng webdevguy Hunyo 06 '13 sa 15:21 2013-06-06 15:21

wala sa mga sagot na ito ang nagtrabaho para sa akin. Nagtrabaho ito:

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

14
10 июля '18 в 5:11 2018-07-10 05:11 Ang sagot ay ibinigay ng brianyang noong Hulyo 10 '18 sa 5:11 ng umaga 2018-07-10 05:11

Ang git remote show <origin name> command ay magpapakita ng isang listahan ng lahat ng mga sangay (kabi>

Halimbawa:

 $ git remote show origin 

Gamitin ang mga hakbang na ito upang kunin ang mga malayong sanga:

 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) 

Halimbawa:

 $ git fetch origin test:test $ git checkout test 
11
07 янв. Ang sagot ay ibinigay ng Thushan 07 Ene 2018-01-07 16:12 '18 sa 4:12 ng hapon 2018-01-07 16:12

Iba pang mga guys at mga babae magbigay ng mga solusyon, ngunit marahil maaari kong sabihin sa iyo kung bakit.

git suriin ang pagsubok na wa>

Hindi katumbas na hindi ito doesn't work , kaya hulaan ko kapag nagpasok ka ng 'git checkout test' sa iyong terminal at pindutin ang enter key, ang mensahe ay hindi lilitaw at wa>

Kung ang sagot ay oo, maaari kong sabihin sa iyo ang dahilan.

Ang dahilan dito ay na sa iyong puno ay may isang file (o folder) na pinangalanang "test".

Kapag git checkout xxx ,

  • Ang git unang tumitingin sa xxx bi>
  • Pagkatapos ay naiisip ni Git na ang xxx ang paraan, at sa kabutihang palad (o, sa kasamaang-palad), may isang file na tinatawag na pagsubok. Samakatuwid, ang git checkout xxx nangangahulugan na kanselahin ang anumang pagbabago sa xxx file.
  • Kung wa>xxx , pagkatapos ay Git ay subukan upang lumikha ng xxx ayon sa i>xxx , kung umiiral ang mga remotes/origin/xxx .
8
10 июля '17 в 10:45 2017-07-10 10:45 ang sagot ay binibigyan ng lumang tao Hulyo 10, '17 sa 10:45 2017-07-10 10:45

Ako ay natigil sa isang sitwasyon kung saan ang error: pathspec 'desired-branch' did not match any file(s) known to git. para sa lahat ng mga alok sa itaas. Nasa git version ako 1.8.3.1.

Kaya nagtrabaho ito para sa akin :

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

Ang paliwanag para sa mga ito ay na napansin ko na kapag kinukuha ang isang remote branch, napili ito sa FETCH_HEAD:

 $ git fetch origin desired-branch From github.com:MYTEAM/my-repo * branch desired-branch -> FETCH_HEAD 
7
11 окт. sumagot alisa 11 Oktubre 2018-10-11 00:52 '18 sa 0:52 2018-10-11 00:52

Patakbuhin ang git checkout ang pangalan ng remote branch. Awtomatikong lilikha ng Git ang isang lokal na branch na sinusubaybayan ng remote:

 git fetch git checkout test 

Gayunpaman, kung ang pangalan ng sangay na ito ay matatagpuan sa higit sa isang console, hindi ito gagana, dahil hindi nalalaman ng Git kung ano ang dapat gamitin. Sa kasong ito, maaari mong gamitin ang alinman sa:

 git checkout --track origin/test 

o

 git checkout -b test origin/test 

Sa 2.19, nakita ni Git ang pagsasaayos ng checkout.defaultRemote , kung saan, kapag tinatanggal ang gayong kalabuan, ang default na remote control value ay ipinahiwatig.

6
13 сент. ang sagot ay ibinigay sa pamamagitan ng Eugene Yarmash sa 13 Septiyembre . 2018-09-13 15:21 '18 sa 3:21 pm 2018-09-13 15:21

Upang makakuha ng mga bagong sanga

 git fetch 

Lumipat sa ibang branch

 git checkout BranchName 
6
15 марта '18 в 11:49 2018-03-15 11:49 ang sagot ay ibinigay ni Hasib Kamal noong Marso 15 '18 sa 11:49 2018-03-15 11:49

Maaari mong simulan ang pagsubaybay sa lahat ng mga natanggal na sanga gamit ang sumusunod na script ng bash:

 #!/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 

Narito ang bersyon ng single-line:

 git fetch --all; for branch in `git branch -r --format="%(refname:short)" | sed 's/origin\///'`; do git branch --track "$branch" "origin/$branch" ; done ; 
6
11 авг. Ang sagot ay ibinigay ng OzzyCzech 11 aug. 2017-08-11 15:06 '17 sa 15:06 2017-08-11 15:06

Mangyaring sundin ang utos na ito upang lumikha ng isang wa>

 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' 
2
01 янв. ang sagot ay ibinigay ni Mehedi Hasan Jan 01 2016-01-01 13:31 '16 sa 13:31 2016-01-01 13:31

Kunin ang pinagmulan at tingnan ang sangay.

 git fetch origin  git checkout branch_name 
1
21 мая '18 в 14:33 2018-05-21 14:33 ang sagot ay ibinigay Pranav Mayo 21, '18 sa 14:33 2018-05-21 14:33

Kung ang pangalan ng remote branch ay nagsisimula sa mga espesyal na character, kai>

Halimbawa, sinubukan kong kunin ang isang remote branch na may panga>#9773 ngunit ang command ay hindi gumagana ng maayos, tulad ng ipinapakita sa figure sa ibaba:

2019

07 нояб. ang sagot ay ibinibigay kay Ulysses Alves 07 nov. 2018-11-07 14:17 '18 sa 2:17 ng gabi 2018-11-07 14:17

Iba pang mga katanungan tungkol sa tag o Magtanong ng isang Tanong