Paano palitan ang pangalan ng lokal na git branch?
Hindi ko nais na palitan ang pangalan ng isang remote na sangay, tulad ng inilarawan sa Palitan ang pangalan ng pangunahing sangay para sa mga lokal at remote Git repositories.
Paano palitan ang pangalan ng isang lokal na branch na hindi nag-click sa isang remote branch?
Kung gusto mong palitan ang pangalan ng sangay, ituro ito sa alinmang branch, sundin ang mga hakbang na ito:
git branch -m <oldname> <newname>
Kung gusto mong palitan ang pangalan ng kasalukuyang sangay, maaari mong gawin:
git branch -m <newname>
Ang paraan upang matandaan ito ay, -m
para sa "ilipat" (o mv
), iyon ay, kung paano mo pinalitan ang pangalan ng mga file.
git branch -m old_branch_name new_branch_name
Ang utos sa itaas ay magbabago sa pangalan ng iyong sangay, ngunit dapat kang maging maingat sa sangay na pinalitan ng pangalan, sapagkat ito ay tumutukoy pa rin sa sangay sa sangay na nauugnay dito, kung mayroong isa.
git push origin new_branch_name:master
(ngayon ang mga pagbabago ay pupunta sa pangunahing branch, ngunit ang iyong lokal na pangalan ng sangay ay new_branch_name)
Para sa mga detalye, tingnan ang " Paano baguhin ang pangalan ng isang lokal na sangay sa Git .
Upang palitan ang pangalan ng kasalukuyang sangay:
git branch -m <newname>
Narito ang mga hakbang upang palitan ang pangalan ng sangay:
1. switch to branch which needs to be renamed 2. git branch -m <new_name> 3. git push origin :<old_name> 4. git push origin <new_name>:refs/heads/<new_name>
EDIT (01/12/2017): Tiyaking pinapatakbo mo ang git status
command at siguraduhin na ang bagong nilikha na sangay ay tumutukoy sa sarili nitong ref, at hindi sa mas matanda. Kung makakita ka ng isang link sa isang mas lumang sangay, kai>
git branch --unset-upstream
Ang pagpapalit ng pangalan ng sangay ay magiging kapaki-pakinabang pagkatapos makumpleto ang iyong sangay. Pagkatapos ay dumating ang bagong materyal, at gusto mong bumuo sa parehong sangay, at hindi tanggalin ito at lumikha ng bago.
Mula sa aking karanasan, upang palitan ang pangalan ng isang lokal at remote na sangay sa Git, kai>
Quote mula sa i> Palitan ang pangalan ng lokal at remote na branch sa git
1. Palitan ang pangalan ng lokal na sangay
Kung ikaw ay nasa isang tanggapang pansangay, nais mong palitan ang pangalan:
git branch -m new-name
Kung ikaw ay nasa ibang sangay:
git branch -m old-name new-name
2. Tanggalin ang malayong sangay ng lumang pangalan at i-click ang lokal na sangay ng bagong pangalan.
git push origin :old-name new-name
3. I-reset ang upstream branch para sa lokal na sangay ng bagong pangalan.
git push origin -u new-name
Ang mga sagot sa ngayon ay tama, ngunit narito ang i>
Gamit ang -m o -M na pagpipilian, ang
<oldbranch>
ay<oldbranch>
muli sa<newbranch>
. Kung ang<oldbranch>
ay may isang pagtutugma ng pagpaparami, ito ay pinalitan ng pangalan upang tumugma sa<newbranch>
, at ang isang reflog entry ay nilikha upang matandaan ang pagpapalit ng pangalan ng mga sanga. Kung umiiral ang<newbranch>
, -M dapat gamitin upang<newbranch>
isang pangalan.
1. Palitan ang pangalan
Kung ito ang iyong kasalukuyang thread, >
git branch -m new_name
Kung ito ay isa pang sangay na nais mong palitan ang pangalan
git branch -m old_name new_name
2. Subaybayan ang isang bagong remote branch
. Kung na-click ang iyong sangay, pagkatapos ng pagpapalit ng pangalan kai>
git push origin :old_name git push --set-upstream origin new_name
Ako ay tahimik na tinatawag na isang sangay na nagsisimula sa isang gitling, at pagkatapos ay naka-check ang master. Ayaw kong alisin ang aking sangay, nagtrabaho ako dito.
Wala sa kanila ang nagtrabaho:
git checkout -dumb-name
git checkout -- -dumb-name
"
s, '
at hindi rin tumulong. git branch -m
ay hindi gumagana.
Iyan ay kung paano ko naayos na ito sa wakas. Pumunta sa iyong nagtatrabaho kopya ng .git / refs / heads, hanapin ang pangalan ng file na "-dumb-name", kunin ang hash ng branch. Pagkatapos ay susuriin ito, lumikha ng isang bagong sangay na may makatwirang pangalan at tanggalin ang luma.
git checkout {hash} git checkout -b brilliant-name git branch -d -- -dumb-name
Upang palitan ang pangalan ng isang sangay sa isang lugar lamang:
git branch -m [old-branch] [new-branch]
Ngayon ay kai>
Upang magsumite ng mga pagbabago sa isang natanggal na lumang sangay:
git push origin :[old-branch]
Upang gumawa ng mga pagbabago sa paglikha ng isang bagong sangay:
git push origin [new-branch]
Palitan ang pangalan ng branch gamit ang command na ito:
git branch -m [old_branch_name] [new_branch_name]
-m
: ito ay nagbabago / naglilipat ng sangay. Kung mayroong sangay, makakatanggap ka ng isang mensahe ng error.
Kung mayroon nang sangay, at gusto mong palitan ang pangalan nito sa branch na ito, gamitin ang:
git rename -M [old_branch_name] [new_branch_name]
Para sa karagdagang impormasyon tungkol sa tulong, gamitin ang command na ito sa terminal:
git branch --help
o
man git branch
Pinalawig ng mga gumagamit ng Git ang manu-manong palitan ang pangalan:
Rename the old branch under .git/refs/heads to the new name Rename the old branch under .git/logs/refs/heads to the new name Update the .git/HEAD to point to yout new branch name
Marahil, tulad ng nabanggit ng iba, ito ay isang hindi pagtutugma sa pangalan ng mga sanga.
Kung mayroon kang sitwasyong ito, maaari mong hulaan na ikaw ay nasa Windows, na hahantong din sa iyo upang:
$ git branch -m CaseSensitive casesensitive fatal: A branch named 'casesensitive' already exists.
Pagkatapos ay kai>
$ git branch -m temporary $ git branch -m casesensitive
Wala nang iba pa.
Tangkaang sagutin ang partikular na tanong (hindi bababa sa pamagat).
Maaari mo ring palitan ang pangalan ng lokal na branch, ngunit subaybayan ang lumang pangalan sa remote control.
git branch -m old_branch new_branch git push --set-upstream origin new_branch:old_branch
Ngayon kapag tumakbo ka git push
, ang remote old_branch
ref ay na-update sa lokal na new_branch
.
Dapat mong malaman at tandaan ang configuration na ito. Ngunit ito ay maaaring maging kapaki-pakinabang kung wala kang pagpipilian para sa pangalan ng malayuang sangay, ngunit hindi mo ito gusto (oh, ibig sabihin ko, mayroon kang isang napakahusay na dahilan upang hindi gustuhin ito!) At mas gusto nila ang isang mas malinaw na pangalan para sa iyong lokal sanga.
Habang naglalaro kasama ang configuration ng sample, maaari mo ring palitan ang pangalan ng lokal na remote na link. ibig sabihin, upang magkaroon ng ref refs/remote/origin/new_branch
para sa sangay, sa katunayan, ang old_branch
origin
. Gayunpaman, nasiyahan ako dahil dito, para sa kaligtasan ng iyong isip.
Ang isa pang pagpipilian ay hindi gamitin ang command line sa lahat. Ang mga kliyenteng GUI ng GUI, tulad ng SourceTree , ay nag-aalis ng karamihan sa curve ng syntax ng pag-aaral / sakit, na nagpapataas ng mga isyu tulad ng ito ang pinaka-tiningnan sa isang overflow ng stack.
Sa SourceTree, i-right-click sa anumang lokal na branch sa panel ng "Sangay" sa kaliwa at piliin ang "Palitan ang pangalan ...".
Narito ang tatlong hakbang: isang utos na maaari mong tawagan sa loob ng iyong terminal at palitan ang pangalan ng sangay.
git branch -m old_branch new_branch # Rename branch locally git push origin :old_branch # Delete the old branch git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote
Kung kai>Kung paano baguhin ang Pangalan ng Git ng sangay ay isang magandang artikulo tungkol dito.
Upang palitan ang pangalan ng kasalukuyang sangay (maliban sa isang hiwalay na estado ng HEAD), maaari mo ring gamitin ang alyas na ito:
[alias] mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1'
Dahil hindi mo nais na itulak ang isang sangay sa isang malayuang server, kapaki-pakinabang ang halimbawang ito:
Sabihin nating mayroon kang isang sangay na tinatawag na "my-hot-feature" at gusto mong palitan ang pangalan nito sa "feature-15".
Una gusto mong baguhin ang lokal na branch. Hindi ito maaaring maging mas madali:
git branch -m my-hot-feature feature-15
Para sa karagdagang impormasyon, maaari mong bisitahin ang Lokal at Malayuan ang pangalan ng sangay sa Git .
Kung nais mong gamitin ang SourceTree (na lubos kong pinapayo), maaari mong i-right-click sa iyong branch at piliin ang "Palitan ang pangalan."
git bersyon 2.9.2
Kung nais mong baguhin ang pangalan ng lokal na sangay na kung saan ikaw ay matatagpuan:
git branch -m new_name
Kung nais mong baguhin ang pangalan ng isa pang branch:
git branch -m old_name new_name
Kung gusto mong baguhin ang pangalan ng isa pang branch sa isang umiiral na pangalan:
git branch -M old_name new_name_that_already_exists
Tandaan Ang huling utos ay nakakasira at binabago ang iyong sangay, ngunit mawawala ang lumang sangay na may ganitong pangalan, at sila ay aayusin, sapagkat ang mga pangalan ng mga sangay ay dapat na kakaiba.
Kung nais mong baguhin ang pangalan ng kasalukuyang sangay, patakbuhin ang:
git branch -m [old_branch] [new_branch]
Kung gusto mong tanggalin ang lumang remote na sangay, patakbuhin ang:
git push origin :[old_branch]
Kung nais mong tanggalin ang lumang remote branch at lumikha ng isang bagong remote branch, patakbuhin ang:
git push origin :old_branch new_branch
Ang pagbabago ng isang sangay sa isang lugar ay medyo simple! ...
Kung ikaw ay nasa tanggapang pansangay, nais mong baguhin ang pangalan, sundin lamang ang mga hakbang na ito:
git branch -m my_new_branch
Kung hindi, kung ikaw ay nasa master
o anumang iba pang sangay , maliban sa nais mong baguhin, isagawa ang:
git branch -m my_old_branch my_new_branch
Bi> Sa kasong ito, ikaw ay nasa master
branch, halimbawa:
Kung nais mong palitan ang pangalan ng git repository -
git branch -m <oldname> <newname>
alisin ang lumang sangay sa pamamagitan ng-
git push origin :old-name new-name
Ayusin ito sa
git commit <newname>
at pagkatapos ay mag-click gamit ang git push origin new_branch_name:master
Kung nais mong suriin ang katayuan, gamitin ang: -
git status
Kung nais mong suriin, pagkatapos ay: -
git checkout
Ang lahat ng nasa itaas ay nagsasalita ng git branch -m
. Siyempre, madali itong magtrabaho, ngunit maaaring medyo mahirap para sa akin na matandaan ang isa pang git command. Kaya sinubukan kong gawin ang trabaho sa koponan na pamilyar ko. Oo, maaari mong hulaan.
git branch -b <new_branch_name>
ako ng git branch -b <new_branch_name>
. At kung ayaw mong panatilihin ang lumang sangay, maaari mong git branch -D <old_branch_name>
upang alisin ito.
Alam ko na maaaring ito ay medyo nakapapagod, ngunit mas madaling maunawaan at matandaan. Sana ito ay kapaki-pakinabang para sa iyo.
Ang git renaming isang sangay ay maaaring tapos na gamit
git branch -m oldBranch newBranch
git branch -M oldBranch ExistingBranch
Ang pagkakaiba sa pagitan ng -m at -M ,
-m: kung susubukan mong palitan ang pangalan ng iyong sangay ng output ng pangalan ng sangay sa tulong ng -m, ito ay magiging sanhi ng isang error, sabi na ang sangay ay mayroon na. Kai>
ngunit
-M : , makakatulong ito sa iyo na papalit-palitan muli ang pangalan na ibinigay, kahit na umiiral ito. samakatuwid, ang umiiral na sangay ay ganap na patungan ito ...
Narito ang isang halimbawa ng git terminal ,
mohideen@dev:~/project/myapp/sunithamakeup$ git branch master master0 new_master test * test1 mohideen@dev:~/project/myapp/sunithamakeup$ git branch -m test1 test fatal: A branch named 'test' already exists. mohideen@dev:~/project/myapp/sunithamakeup$ git branch -M test1 test mohideen@dev:~/project/myapp/sunithamakeup$ git branch master master0 new_master * test mohideen@dev:~/project/myapp/sunithamakeup$
Iba pang mga katanungan tungkol sa git git-branch tag o Magtanong ng isang Tanong