දේශීය Git ශාඛාවක් ලෙස නම් කරන්නේ කෙසේද?


8576

දේශීය හා දුරස්ථ Git ගබඩාවලට මාස්ටර් ශාඛාව නැවත නම් කරන්න, දුරස්ථ ශාඛාවක් නම් කිරීමට මට අවශ්‍ය නැත .

දුරස්ථ ශාඛාවකට තල්ලු නොකළ දේශීය ශාඛාවක් නැවත නම් කරන්නේ කෙසේද?

ඔබට දුරස්ථ ශාඛාවද නම් කිරීමට අවශ්‍ය නම් :
මම Git දේශීය සහ දුරස්ථ ශාඛා නාමයක් නම් කරන්නේ කෙසේද?

Answers:


13747

ඕනෑම ශාඛාවකට යොමු කර ශාඛාවක් නම් කිරීමට ඔබට අවශ්‍ය නම්, කරන්න:

git branch -m <oldname> <newname>

වත්මන් ශාඛාව නැවත නම් කිරීමට ඔබට අවශ්‍ය නම්, ඔබට මෙය කළ හැකිය:

git branch -m <newname>

මෙය මතක තබා ගත හැකි ක්‍රමයක් -mවන්නේ "චලනය" (හෝ mv) සඳහා වන අතර එය ඔබ ගොනු නැවත නම් කරන ආකාරයයි. අන්වර්ථයක් එකතු කිරීමද උපකාරී වේ. එසේ කිරීමට, පහත සඳහන් දෑ ක්‍රියාත්මක කරන්න:

git config --global alias.rename 'branch -m'

ඔබ වින්ඩෝස් හෝ වෙනත් සිද්ධි සංවේදී නොවන ගොනු පද්ධතියක සිටී නම් සහ නමේ ප්‍රාග්ධනීකරණ වෙනස්කම් පමණක් තිබේ නම්, ඔබ භාවිතා කළ යුතුය -M, එසේ නොමැතිනම් , git විසින් ශාඛාව විසි කරනු ඇත දැනටමත් පවතින දෝෂයකි:

git branch -M <newname>

87
මට දැන ගැනීමට අවශ්‍ය වූයේ මෙය ඔබ තල්ලු කරන විට / දුරස්ථ ශාඛාවට අනිවාර්යයෙන්ම බලපානු
ඇත්ද යන්නයි

181
Anda පැන්ඩාවුඩ්: ඔබ තල්ලු කරන විට එය නව ශාඛාව එක් කරයි, නමුත් පැරණි ශාඛාව මකා නොදමනු ඇත. ඔබ භාවිතා කරන්නේ නම් git push -f --mirror, එය දුරස්ථයේ ඇති ශාඛාව නැවත නම් කරනු ඇත, නමුත් ඔබ මෙම ක්‍රමය භාවිතා කළ යුත්තේ දුරස්ථය යනු ඔබේ වර්තමාන ගබඩාවේ පිටපතක් නම් පමණි. මෙම ප්‍රශ්නයද බලන්න: stackoverflow.com/questions/1526794/git-rename-remote-branch
siride

19
Anda පැන්ඩාවුඩ්, එය push.defaultවින්‍යාසගත කර ඇති ආකාරය මත රඳා පවතී . පෙරනිමියෙන් ( matching) එය නම ගැලපෙන දුරස්ථයකට තල්ලු කරයි. ඔබට කළ යුතුව ඇත git push origin <newname>:<oldname>හෝ ඔබ නව දුරස්ථ ශාඛාවක් නිර්මාණය කරනු ඇත. කෙසේ වෙතත්, push.defaultසකසා ඇත්නම් upstream, එවිට ඔබට හැකි push origin headඅතර දුරස්ථයේ ඇති පැරණි නාමයට දේවල් යා හැකිය .
එරින් ස්ටැන්ෆිල්

13
@ NightOwl888: යුනික්ස් සම්මුතියෙන් පසුව mvගොනු නැවත නම් කිරීම සඳහා -m බොහෝ විට "චලනය" සඳහා කෙටි වේ. මෙයට හේතුව ඩිරෙක්ටරි මත පදනම් වූ ඉනෝඩ ගොනු පද්ධතියක චලනය හා නැවත නම් කිරීම සම්පූර්ණයෙන්ම සමාන වීමයි.
සර්

51
-mවිකල්පයේ දිගු නම --move, උදා, git branch --move masterවත්මන් ශාඛාව "මාස්ටර්" ලෙස නම් කිරීම.
රොබෙන්ක්ලීන්

445
git branch -m old_branch_name new_branch_name

ඉහත විධානය මඟින් ඔබේ ශාඛා නාමය වෙනස් වනු ඇත, නමුත් නැවත නම් කරන ලද ශාඛාව භාවිතා කිරීමේදී ඔබ ඉතා පරිස්සම් විය යුතුය, මන්ද එය තවමත් ඒ හා සම්බන්ධ පැරණි උඩු මහලේ ශාඛාව වෙත යොමු වේ.

ඔබේ ප්‍රාදේශීය ශාඛාව new_branch_name ලෙස නම් කිරීමෙන් පසු ඔබට යම් යම් වෙනස්කම් මාස්ටර් වෙත තල්ලු කිරීමට අවශ්‍ය නම් (උදාහරණ නම):

git push origin new_branch_name:master (දැන් වෙනස්කම් ප්‍රධාන ශාඛාවට යන නමුත් ඔබේ ප්‍රාදේශීය ශාඛාවේ නම new_branch_name)

වැඩි විස්තර සඳහා, " ඔබේ ප්‍රාදේශීය ශාඛා නාමය Git ලෙස නම් කරන්නේ කෙසේද " බලන්න .


326

ඔබගේ වර්තමාන ශාඛාව නැවත නම් කිරීම සඳහා:

git branch -m <newname>

159
ඔබ ප්‍රාග්ධනීකරණය පමණක් වෙනස් කරන්නේ නම් නැවත නම් කිරීම සඳහා ඔබට -M භාවිතා කිරීමට අවශ්‍ය වනු ඇත, ශාඛාව දැනටමත් පවතින බව git ඔබට කියනු ඇත.
cjspurgeon

289

ශාඛාව නැවත නම් කිරීමේ පියවර මෙන්න:

  1. නැවත නම් කළ යුතු ශාඛාවට මාරු වන්න
  2. git branch -m <new_name>
  3. git push origin :<old_name>
  4. git push origin <new_name>:refs/heads/<new_name>

සංස්කරණය කරන්න (12/01/2017): ඔබ විධානය ක්‍රියාත්මක කරන බවට වග බලා ගන්න git statusසහ අලුතින් සාදන ලද ශාඛාව යොමු වී ඇත්තේ තමන්ගේම යොමු කිරීමකට මිස පැරණි ඒවාට නොවේදැයි පරීක්ෂා කරන්න. ඔබ පැරණි ශාඛාව වෙත යොමු කිරීම සොයා ගන්නේ නම්, ඔබ මෙය භාවිතා කරමින් උඩු යටිකුරු කළ යුතුය:

git branch --unset-upstream

1
යමෙකු උඩු යටිකුරු නොකරන්නේ කුමන පියවරේදීද? 4 වන පියවරට පෙර?
සුළි කුණාටුව

1
නැවත නම් කිරීමක් නිවැරදිව සම්පූර්ණ කිරීම සඳහා වන සම්පූර්ණ ක්‍රියාවලිය විස්තර කරන බැවින් මෙය මෙහි ඇති හොඳම පිළිතුරයි
ක්‍රිස් හැල්ක්‍රෝ

212

ඔබේ ශාඛාව අවසන් වූ පසු ශාඛාව නැවත නම් කිරීම ප්‍රයෝජනවත් වේ. එවිට නව දේවල් පැමිණේ, ඔබට අවශ්‍ය වන්නේ එය මකා දැමීම වෙනුවට එකම ශාඛාව තුළ වර්ධනය වී නව එකක් නිර්මාණය කිරීමයි.

මගේ අත්දැකීම් අනුව, Git හි දේශීය හා දුරස්ථ ශාඛාවක් නම් කිරීම සඳහා ඔබ පහත පියවර ගත යුතුය.

බහුවිධ රාජ්‍යයන්ගෙන් උපුටා දැක්වීම - දේශීය හා දුරස්ථ ශාඛාවක් git ලෙස නම් කරන්න

1. ඔබේ ප්‍රාදේශීය ශාඛාව නැවත නම් කරන්න

ඔබ ශාඛාවේ සිටී නම් ඔබට නැවත නම් කිරීමට අවශ්‍යය:

git branch -m new-name

ඔබ වෙනත් ශාඛාවක සිටී නම්:

git branch -m old-name new-name

2. පැරණි නම් දුරස්ථ ශාඛාව මකා දමා නව නාම ප්‍රාදේශීය ශාඛාව තල්ලු කරන්න

git push origin :old-name new-name

3. නව නම් ප්‍රාදේශීය ශාඛාව සඳහා උඩු මහලේ ශාඛාව නැවත සකසන්න

git push origin -u new-name

1
මේ කෙනා මට වඩා හොඳින් වැඩ කළා. මෙන්න පියවර 2 මට පහත දෝෂ ලබා දුන්නේය:error: dst ref refs/heads/<old-name> receives from more than one src.; error: failed to push some refs to 'git@uri:foo/bar.git'
ඇන්ටෝ

1
විධානය ක්‍රියාත්මක කිරීමේදී ඔබට ගැටලුව ඇති වී git push origin :old-name new-nameතිබේද?
trungk18

ඔව් (සමාවෙන්න මම අදහස් කළේ "2 වන පියවර" මිස "පියවර 2" නොවේ - වෙහෙසට පත්ව ඇත)
ඇන්ටෝ

116

මෙතෙක් ලබා දී ඇති පිළිතුරු නිවැරදි ය, නමුත් මෙන්න අමතර තොරතුරු කිහිපයක්:

යමෙකුට '-m' (චලනය) සහිත ශාඛාවක් ආරක්ෂිතව නම් කළ හැකිය, නමුත් යමෙකුට '-M' සමඟ පරිස්සම් විය යුතුය, මන්ද එය නැවත නම් කිරීමට බල කරන බැවිනි, දැනටමත් එකම නමක් සහිත දැනට පවතින ශාඛාවක් තිබුණද. 'Git-branch' man පිටුවේ උපුටා ගැනීම මෙන්න:

-M හෝ -M විකල්පයක් සමඟ, <oldbranch>නැවත නම් කරනු ලැබේ <newbranch>. නම් <oldbranch>අනුරූපී reflog විය, එය ගැලපෙන නම වෙනස් වේ <newbranch>, සහ reflog ප්රවේශය ශාඛා ආනන්ද මතක තබා ගැනීමට නිර්මාණය කර ඇත. <newbranch>පවතින්නේ නම් , නැවත නම් කිරීම බල කිරීමට -M භාවිතා කළ යුතුය.


2
නැවත ලියන ලද ශාඛාවට කුමක් සිදුවේද?
කෙවින් ඩයිස්

එය නව නම / ශාඛාව මගින් නැවත ලියනු ලැබේ. උදාහරණයක් ලෙස ඔබට පහත සඳහන් ශාඛා git හි තිබේ නම්: මාස්ටර් b1 <- වත්මන් ශාඛාව b2 ඔබ 'git branch -M b2' කළ පසු ඔබට ඇත්තේ: මාස්ටර් b2 <- වත්මන් ශාඛාව b1 නැති වී යන අතර ඔබට අවශ්‍ය නම් එය නැවත ලබා ගන්න ඔබ එහි හැෂ් මඟින් එය පරීක්ෂා කළ යුතුය. 'Git reflog' ටයිප් කිරීමෙන් ඔබට එය දැක ගත හැකිය. චියර්ස්.
වැන්චෙව්

මෙම -Mධජය ද ඔබ වෙනස් වර්ග උදා, ශාඛා නම නඩුව නිවැරදි වේ නම් ප්රතිනම්කෙරුම් බල ප්රයෝජනවත් වේ myBranchකිරීමට MyBranch. ( -mGit return සමඟ fatal: A branch named 'MyBranch' already exists.)
ජෝන් ෂ්නයිඩර්

92

1. නැවත නම් කරන්න

එය ඔබගේ වර්තමාන ශාඛාව නම්, කරන්න

git branch -m new_name

එය වෙනත් ශාඛාවක් නම් ඔබට නැවත නම් කිරීමට අවශ්‍යයි

git branch -m old_name new_name

2. නව දුරස්ථ ශාඛාවක් ලුහුබඳින්න

- ඔබේ ශාඛාව තල්ලු කර ඇත්නම්, නැවත නම් කිරීමෙන් පසු ඔබට එය දුරස්ථ Git ගබඩාවෙන් මකා දැමිය යුතු අතර නව දුරස්ථ ශාඛාවක් සොයා ගැනීමට ඔබේ නව දේශීයයාගෙන් ඉල්ලා සිටින්න:

git push origin :old_name
git push --set-upstream origin new_name

74

මම මෝඩ ලෙස හයිපනයකින් ආරම්භ වන ශාඛාවක් නම් කර, පසුව ස්වාමියා පරීක්ෂා කර බැලුවෙමි. මට මැකීමට අවශ්‍ය නොවීයමගේ ශාඛාව මට , මට එහි වැඩ තිබුණි.

මේ දෙකම ක්‍රියාත්මක වූයේ නැත:

git checkout -dumb-name

git checkout -- -dumb-name

"s, 's සහ \s ද උදව් කළේ නැත. git branch -mවැඩ කරන්නේ නැහැ.

මෙන්න මම අවසානයේ එය සවි කළ ආකාරය. ඔබගේ වැඩ කරන පිටපතෙහි .git / refs / head වෙත ගොස්, "-dumb-name" යන ගොනු නාමය සොයා ගන්න, ශාඛාවේ හැෂ් ලබා ගන්න. එවිට මෙය පරීක්ෂා කර, නමක් සහිත නව ශාඛාවක් සාදා, පැරණි එක මකා දමනු ඇත.

git checkout {hash}
git checkout -b brilliant-name
git branch -d -- -dumb-name

8
ඔබට ගොනුව refs / head වලින් නැවත නම් කළ නොහැකිද?
android.weasel

ඩිටෝ. මෙම මැජික් කිරීම සඳහා ඔබට නාමාවලි ව්‍යුහය හාරා බැලීමට සිදුවුවහොත්, සෑම පැත්තකටම ගොස් 'mv - -umb-name bright-name' do a 'git branch -av' කරන්න, එවිට ඔබට නාමාවලි ව්‍යුහයක් පෙනෙනු ඇත .git / refs. හෝ හැෂ් කෙලින්ම බැලීමට 'grep -R ^ .git / refs' විය හැකිය.
ඩේව් එක්ස්

2
ඔබට බොහෝ විට භාවිතා කළ හැකියreflog
කේත විස්පර්

අවංකවම, එය ඔබට යාමට අවශ්‍ය මාර්ගය නම්, මම (ඔබ කරන්නේ කුමක්දැයි ඔබ නොදන්නේ නම් IMO ව්‍යාකූල සහ භයානක විය හැකි) මග හැරෙනු ඇත .Git නාමාවලිය හරහා මුලින් ම විහිළු කරන්න, සමහර ඒවා සමඟ එය කරන්න සමහර "git log" විග්‍රහයන් සහිත සාමාන්‍ය විධානයන් (අතු පෙන්වීමට සුදුසු කොඩි භාවිතා කිරීම සහ නව ශාඛාවක් පරීක්ෂා කිරීමට ඔබට අවශ්‍ය කුමන ෂැසම්දැයි සොයා බැලීම), ඉන්පසු එය කරන්න. ඉන්පසු, වන්කි නම් කළ ශාඛාව ඉවත් කරන්න. සමහර දේවල් කිරීමට එහි සියලු අභ්‍යන්තර ක්‍රියාකාරකම් ඔබ තේරුම් ගත යුතු බව git අවධාරනය කරන බව මම හෙළා දකිමි, නමුත් ඔබට එම දේවල් කළ හැකි බව බෙහෙවින් අගය කරමි .
ජෝන් වී

2.10.1+ හි නරක නමක් ඇති ශාඛාවක් සෑදීම දුෂ්කර ය. ඔබ කෙසේ හෝ එය කරන්නේ නම්, ඔබේ ශාඛා වල කෙටි හැෂ් අනුවාදය ලබා ගැනීම සඳහා ඔබට git branch -v භාවිතා කළ හැකිය (දුරස්ථ සඳහා -r එකතු කරන්න). ඔබට අවශ්‍ය නම් සම්පූර්ණ හැෂ් ලබා ගැනීම සඳහා ඔබට git rev-parse <shorthash> භාවිතා කළ හැකිය.
හවුස් ඔෆ් ඩෙක්ස්ටර්

67

ශාඛාවක් දේශීයව නම් කිරීම සඳහා:

git branch -m [old-branch] [new-branch]

දැන් ඔබට මෙම වෙනස්කම් ඔබගේ දුරස්ථ සේවාදායකයේ ද ප්‍රචාරය කිරීමට සිදුවේ.

මකා දැමූ පැරණි ශාඛාවේ වෙනස්කම් තල්ලු කිරීම සඳහා:

git push origin :[old-branch]

නව ශාඛාවක් නිර්මාණය කිරීමේ වෙනස්කම් තල්ලු කිරීම සඳහා:

git push origin [new-branch]

57

නම වෙනස් කිරීම අනුකරණය කිරීමට පියවර තුනක් පමණි remoteGitHub හි මෙන්ම :

පියවර 1 git branch -m old_branchname new_branchname

පියවර 2 git push origin :old_branchname new_branchname

පියවර 3 git push --set-upstream origin new_branchname


2
මට තවත් අමතර දෙයක් කිරීමට සිදු විය: git push --set-upstream origin new_branchnameඑය “නොමේඩ් පිළිතුරෙහි” සඳහන් වේ
ඉබ්‍රාහිම්ෂෙන්ඩි

2
පියවර 3 අවශ්‍ය නොවේ. පියවර 2 න් පසු සියල්ල යාවත්කාලීන විය.
දේව්

@Dev සියලු නඩු දේව්, මම bitbucket හා codecommit භාවිතා සිට මෑතකදී යාවත්කාලීන කිරීමට නොමැති බව, පළමු පියවර 3 අවශ්ය
Harry_pb

40

මෙම විධානය භාවිතා කරමින් ශාඛාව නැවත නම් කරන්න:

git branch -m [old_branch_name] [new_branch_name]

-m: එය ශාඛාව නැවත නම් කරයි / ගෙන යයි. දැනටමත් ශාඛාවක් තිබේ නම්, ඔබට දෝෂයක් ලැබෙනු ඇත.

දැනටමත් ශාඛාවක් තිබේ නම් සහ එම ශාඛාව සමඟ නම් කිරීමට ඔබට අවශ්‍ය නම්, භාවිතා කරන්න:

 git rename -M [old_branch_name] [new_branch_name]

උදව් පිළිබඳ වැඩි විස්තර සඳහා, ටර්මිනලයේ මෙම විධානය භාවිතා කරන්න:

git branch --help

හෝ

man git branch

40

උසස් Git භාවිතා කරන්නන්ට මෙය භාවිතයෙන් අතින් නම් කළ හැකිය:

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

34
  1. ඔබේ ප්‍රාදේශීය ශාඛාව නැවත නම් කරන්න.

ඔබ ශාඛාවේ සිටී නම් ඔබට නැවත නම් කිරීමට අවශ්‍යය:

git branch -m new-name

ඔබ වෙනත් ශාඛාවක සිටී නම්:

git branch -m old-name new-name
  1. පැරණි නම් දුරස්ථ ශාඛාව මකා දමා නව නාම ප්‍රාදේශීය ශාඛාව තල්ලු කරන්න.

git push origin :old-name new-name

  1. නව නම් ප්‍රාදේශීය ශාඛාව සඳහා උඩු මහලේ ශාඛාව නැවත සකසන්න. ශාඛාවට මාරු වී පසුව:

git push origin -u new-name

හෝ එය කිරීමට වේගවත් ක්‍රමයක් සඳහා, ඔබට මෙම පියවර 3 භාවිතා කළ හැකිය:

# ශාඛාව දේශීයව නම් කරන්න

git branch -m old_branch new_branch  

# පැරණි දුරස්ථ ශාඛාව මකන්න

git push origin :old_branch  

# නව ශාඛාව තල්ලු කරන්න, නව දුරස්ථය නිරීක්ෂණය කිරීම සඳහා ප්‍රාදේශීය ශාඛාව සකසන්න

git push --set-upstream origin new_branch   

යොමුව: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html


මෙය මට වැඩ කරයි
Vazgen Manukyan

26

මෙන්න පියවර තුනක්: ඔබේ පර්යන්තය තුළට ඇමතුමක් ලබා දී ශාඛා නම වෙනස් කළ හැකි විධානයක්.

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

ඔබට තවත් අවශ්‍ය නම්: පියවරෙන් පියවර, Git ශාඛාවේ නම වෙනස් කරන්නේ කෙසේද යන්න ඒ පිළිබඳ හොඳ ලිපියකි.


25

අනෙක් අය සඳහන් කළ පරිදි, මෙය ශාඛා නම් කිරීමේදී නොගැලපීමකි.

ඔබට එවැනි තත්වයක් ඇත්නම්, ඔබ වින්ඩෝස් හි සිටින බව මට අනුමාන කළ හැකිය.

$ git branch -m CaseSensitive casesensitive
fatal: A branch named 'casesensitive' already exists.

එවිට ඔබ කළ යුත්තේ අතරමැදි පියවරකි:

$ git branch -m temporary
$ git branch -m casesensitive

ඊට වඩා දෙයක් නැත.


1
මෙම තත්ත්වය ද වන මැක්, පැන හැකි සටහන එහි ගොනු පද්ධතිය තුල (සුවිශේෂී ටිකක් අපිළිවෙලයි) නඩුව අසංවේදී.
ජෝන් වී

විකල්පයක් ලෙස, එක් පියවරකින් මේ ආකාරයේ "ආවරණ නිවැරදි කිරීම" නැවත නම් කිරීම -Mවෙනුවට ඔබට භාවිතා කළ හැකිය -m.
ජෝන් ෂ්නයිඩර්

23

ප්‍රශ්නයට විශේෂයෙන් පිළිතුරු දීමට උත්සාහ කිරීම (අවම වශයෙන් මාතෘකාව).

ඔබට ප්‍රාදේශීය ශාඛාව නැවත නම් කළ හැකිය , නමුත් දුරස්ථයේ පැරණි නම නිරීක්ෂණය කරයි.

git branch -m old_branch new_branch
git push --set-upstream origin new_branch:old_branch

දැන්, ඔබ ධාවනය කරන විට git push, දුරස්ථ old_branchref ඔබේ දේශීය සමඟ යාවත්කාලීන වේ new_branch.

ඔබ මෙම වින්‍යාසය දැනගෙන මතක තබා ගත යුතුය. ඔබට දුරස්ථ ශාඛා නාමය සඳහා තේරීමක් නොමැති නම් එය ප්‍රයෝජනවත් විය හැකිය, නමුත් ඔබ එයට කැමති නැත (ඔහ්, මම කිව්වේ, ඔබට ඉතා හොඳ දෙයක් තිබේ එයට අකමැති වීමට හේතුවක් තිබේ!) සහ වඩා පැහැදිලිව කැමති වන්න ඔබේ ප්‍රාදේශීය ශාඛාවේ නම.

ලබා ගැනීමේ වින්‍යාසය සමඟ සෙල්ලම් කිරීමෙන්, ඔබට දේශීය දුරස්ථ-යොමු කිරීම නැවත නම් කළ හැකිය. එනම්, refs/remote/origin/new_branchශාඛාවට ref පොයින්ටරයක් ​​තිබීම, ඇත්ත වශයෙන්ම එය old_branchක්‍රියාත්මක originවේ. කෙසේ වෙතත්, ඔබේ මනසෙහි ආරක්ෂාව සඳහා මම මෙය දැඩි ලෙස අධෛර්යමත් කරමි.


22

ශාඛාව දේශීයව වෙනස් කිරීම පහසුය ...

ඔබ නම වෙනස් කිරීමට අවශ්‍ය ශාඛාවේ සිටී නම් මෙය කරන්න:

git branch -m my_new_branch

එසේ නැත්නම්, ඔබ මත නම් masterහෝ වෙනත් ඕනෑම ශාඛා ඔබ හුදෙක් කරන්න, නම වෙනස් කිරීමට කැමති එකක් හැර වෙනත්:

git branch -m my_old_branch my_new_branch

විධාන රේඛාවක මෙය ක්‍රියාවට නැංවීම සඳහා පහත රූපය මම නිර්මාණය කරමි . මෙම අවස්ථාවේදී, ඔබ masterශාඛාවේ සිටී, උදාහරණයක් ලෙස:

ශාඛා නාමය දේශීයව වෙනස් කරන්න


21

ඔබ SourceTree භාවිතා කිරීමට කැමති නම් (මම තරයේ නිර්දේශ කරමි), ඔබට ඔබේ ශාඛාව මත දකුණු ක්ලික් කර 'නැවත නම් කරන්න' තෝරා ගත හැකිය.

රූප විස්තරය මෙහි ඇතුළත් කරන්න


20

වත්මන් ශාඛාව නැවත නම් කිරීම සඳහා (වෙන් කළ HEAD තත්වය හැර) ඔබට මෙම අන්වර්ථය භාවිතා කළ හැකිය:

[alias]
    mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1'

18

තවත් විකල්පයක් වන්නේ විධාන රේඛාව කිසිසේත් භාවිතා නොකිරීමයි. SourceTree වැනි GUI සේවාදායකයින් ලබා ගන්න පිළිබඳ වැඩිපුරම නරඹන අය අතර මෙවැනි ප්‍රශ්න ඇති කිරීමට හේතු වන සින්ටැක්ටිකල් ඉගෙනුම් වක්‍රය / වේදනාව බොහෝමයක් ඉවත් කරයි.

SourceTree හි, වම් පස ඇති "ශාඛා" කවුළුවෙහි ඇති ඕනෑම දේශීය ශාඛාවක් මත දකුණු ක්ලික් කර "නැවත නම් කරන්න ..." තෝරන්න.


5
මම එය වේදනාවක් ලෙස නොකියමි. Git විධානය භාවිතා කිරීම ඉතා පහසුය, ඔබ මෙම පිළිතුර දුටු පසු, ඔබ නැවත කිසි දිනෙක ආපසු නොඑනු ඇත. ගැටළුව ඊටත් වඩා වැඩිය, එබැවින් පෙනෙන පරිදි, git විධාන රේඛාවේ ලේඛනගත කිරීම ප්‍රමාණවත් නොවේ.
නීරූ

1
ඇත්ත නමුත් SourceTree සමඟ මම ලේඛන පරීක්ෂා කිරීම ගැන කරදර විය යුතු නැත. සෑම දෙයක්ම සාමාන්‍යයෙන් බුද්ධිමත් ය - දකුණු ක්ලික් කර විකල්ප මොනවාදැයි බලන්න. (BTW මම ඔවුන් සමඟ කිසිම ආකාරයකින් සම්බන්ධ නොවෙමි - මෙවලම මෙන්!)
ස්ටීව් චේම්බර්ස්

17

එය කිරීමට සරල ක්‍රමයක්:

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

වැඩි විස්තර සඳහා මෙය බලන්න .


15

ශාඛාව දුරස්ථ සේවාදායකයකට තල්ලු කිරීමට ඔබට අවශ්‍ය නැති බැවින්, මෙම උදාහරණය ප්‍රයෝජනවත් වනු ඇත:

ඔබට දැනට පවතින "my-hot-feature" ශාඛාවක් ඇති බව කියමු, ඔබට එය "විශේෂාංග -15" ලෙස නම් කිරීමට අවශ්‍යය.

පළමුව, ඔබේ ප්‍රාදේශීය ශාඛාව වෙනස් කිරීමට ඔබට අවශ්‍යය. මෙය පහසු විය නොහැක:

git branch -m my-hot-feature feature-15

වැඩි විස්තර සඳහා, ඔබට දේශීයව සහ දුරස්ථව Git හි ශාඛාවක් නැවත නම් කිරීම නැරඹිය හැකිය .


13

Git අනුවාදය 2.9.2

ඔබ සිටින ප්‍රාදේශීය ශාඛාවේ නම වෙනස් කිරීමට ඔබට අවශ්‍ය නම්:

git branch -m new_name

ඔබට වෙනත් ශාඛාවක නම වෙනස් කිරීමට අවශ්‍ය නම්:

git branch -m old_name new_name

ඔබට වෙනත් ශාඛාවක නම දැනටමත් පවතින නමකට වෙනස් කිරීමට අවශ්‍ය නම්:

git branch -M old_name new_name_that_already_exists

සටහන: අවසාන විධානය විනාශකාරී වන අතර එය ඔබේ ශාඛාව නැවත නම් කරනු ඇත, නමුත් ඔබට එම නම සහිත පැරණි ශාඛාව අහිමි වනු ඇති අතර ශාඛා නාම අද්විතීය විය යුතු බැවින් එම කොමිස්.


11

වත්මන් ශාඛාවේ නම වෙනස් කිරීමට ඔබට අවශ්‍ය නම්, ධාවනය කරන්න:

git branch -m [old_branch] [new_branch]

ඔබට පැරණි දුරස්ථ ශාඛාව මකා දැමීමට අවශ්‍ය නම්, ධාවනය කරන්න:

git push origin :[old_branch]

ඔබට පැරණි දුරස්ථ ශාඛාව මකා දමා දුරස්ථ ශාඛාවක් නිර්මාණය කිරීමට අවශ්‍ය නම්, ධාවනය කරන්න:

git push origin :old_branch new_branch

6

Git ශාඛා නැවත නම් කිරීම භාවිතා කිරීමෙන් මෙය කළ හැකිය:

  1. git branch -m oldBranch newBranch

  2. git branch -M oldBranch ExistingBranch

අතර වෙනස -m හා -m :

-m: ඔබ ඔබේ ශාඛාව දැනට පවතින ශාඛා නාමයකින් -m භාවිතා කර නැවත නම් කිරීමට උත්සාහ කරන්නේ නම් . ශාඛාව දැනටමත් පවතින බව පවසමින් එය දෝෂයක් මතු කරයි. ඔබට අද්විතීය නමක් දිය යුතුයි.

එහෙත්,

-එම්: දී ඇති නමක් සමඟ නැවත නම් කිරීමට බල කිරීමට මෙය ඔබට උපකාරී වනු ඇත, එය පවතී. එබැවින් පවතින ශාඛාවක් මුළුමනින්ම එය සමඟ නැවත ලියයි ...

මෙන්න Git පර්යන්ත උදාහරණයක්,

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$

5

Git GUI භාවිතා කරන්නන් සඳහා එය වඩා සරල විය නොහැක. Git GUI හි, මෙනු අයිතමයෙන් සාදන ලද "ශාඛාව නැවත නම් කරන්න" සංවාද කොටුවේ ඇති පතන ලැයිස්තුවෙන් ශාඛා නාමය තෝරන්න ශාඛාව: නැවත නම් කරන්න, නව නමක් ටයිප් කර "නැවත නම් කරන්න" ක්ලික් කරන්න. පතන ලැයිස්තුව සොයාගත හැකි ස්ථානය මම ඉස්මතු කර ඇත්තෙමි.

දේශීය Git ශාඛාවක් නම් කරන්න


3

ඔබට අවශ්ය නම්:

  • Git ගබඩාව නැවත නම් කරන්න, ධාවනය කරන්න: git branch -m <oldname> <newname>
  • පැරණි ශාඛාව මකා දමන්න: git push origin: old-name new-name
  • එය භාවිතයෙන් එය සිදු කරන්න: git commit <newname>
    • ඉන්පසු භාවිතා කරමින් තල්ලු කරන්න: git push origin new_branch_name:master
  • ඔබට තත්වය පරීක්ෂා කිරීමට අවශ්‍ය නම් භාවිතා කරන්න: git status
  • ඔබට පරීක්ෂා කිරීමට අවශ්‍ය නම් භාවිතා කරන්න: git checkout

3

පෙර පිළිතුරු සියල්ලම කතා කරයි git branch -m. ඇත්ත වශයෙන්ම, එය ක්‍රියාත්මක කිරීම පහසුය, නමුත් මට නම්, වෙනත් Git විධානයක් මතක තබා ගැනීම ටිකක් අපහසු විය හැකිය. ඒ නිසා මම හුරුපුරුදු විධානය මඟින් වැඩ කටයුතු කරගෙන යාමට උත්සාහ කළෙමි. ඔව්, ඔබ එය අනුමාන කළ හැකිය.

මම පාවිච්චි කරනවා git branch -b <new_branch_name>. ඔබට පැරණි ශාඛාව සුරැකීමට අවශ්‍ය නැතිනම් දැන් git branch -D <old_branch_name>එය ඉවත් කිරීමට ඔබට ක්‍රියාත්මක කළ හැකිය .

එය ටිකක් වෙහෙසකාරී විය හැකි බව මම දනිමි, නමුත් තේරුම් ගැනීමට සහ මතක තබා ගැනීමට පහසුය. එය ඔබට ප්‍රයෝජනවත් වේ යැයි මම බලාපොරොත්තු වෙමි.


විධාන මතක තබා ගැනීමේදී ඔබට ගැටලුවක් තිබේ නම්, ඔබට ඔබටම ෂෙල් හෝ ජිට් අන්වර්ථ සැකසිය හැකිය.
සීන්

මට විවිධ යන්ත්‍රවල ධාවන විධානය අවශ්‍ය නම් කුමක් කළ යුතුද?
ඩයි කයික්සියන්

1

PhpStorm හි:

VCS → Git ශාඛා ... → ප්‍රාදේශීය ශාඛා → _ඔබ_ ශාඛාව_ → නැවත නම් කරන්න


0

ඔබ කළ යුත්තේ පියවර තුන පමණි:

  1. .Git / refs / head යටතේ පැරණි ශාඛාවට නව නම දෙන්න
  2. පැරණි ශාඛාව .git / log / refs / head යටතේ නව නම දෙන්න
  3. ඔබගේ නව ශාඛා නාමයට යොමු කිරීම සඳහා .git / HEAD යාවත්කාලීන කරන්න
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.