ඔබ දුරස්ථ Git ශාඛාවක් නිර්මාණය කරන්නේ කෙසේද?


3138

මම ප්‍රාදේශීය ශාඛාවක් නිර්මාණය කළෙමි. අළුතින් සාදන ලද දුරස්ථ ශාඛාවක් ලුහුබැඳිය යුතු ආකාරය පිළිබඳ ස්ටැක් පිටාර ගැලීම පිළිබඳ සමාන ප්‍රශ්නයක් මෙහි ඇත.

කෙසේ වෙතත්, මගේ කාර්ය ප්‍රවාහය තරමක් වෙනස් ය. පළමුව මට ප්‍රාදේශීය ශාඛාවක් සෑදීමට අවශ්‍ය වන අතර, මම එය ඉහළට තල්ලු කරන්නේ සෑහීමකට පත්වන විට සහ මගේ ශාඛාව බෙදා ගැනීමට අවශ්‍ය වූ විට පමණි.

  • මම එය කරන්නේ කෙසේද? (මගේ ගූගල් සෙවුම් කිසිවක් සමඟ එන බවක් නොපෙනුණි).
  • උඩු මහලේ ගබඩාවෙන් එය අදින්නැයි මම මගේ සගයන්ට පවසන්නේ කෙසේද?

Git 2.0 සමඟ යාවත්කාලීන කරන්න මම පහත ලියා ඇති සරල පිළිතුරක් ඇත: https://stackoverflow.com/a/27185855/109305


14
කවුරුහරි ඔබට දෙවන ප්‍රශ්නයට පිළිතුරු දී තිබේද? >> මම මගේ සගයන්ට එය උඩුමහලේ ගබඩාවෙන් අදින්නැයි කියන්නේ කෙසේද?
කිරිපිටි

සම්බන්ධ විය හැකිය: Pro Git: 3.5 Git Branching - දුරස්ථ ශාඛා .

1
ilmilkplus get fetch --allදුරස්ථ පැත්තේ නව ශාඛා ලබා ගනී (නමුත් get fetch --pruneමකාදැමූ දුරස්ථ ශාඛා වෙත යොමු කිරීම් දේශීයව මකා දමයි). මම හිතන්නේ, එක්කෝ මෙය ඔවුන් විසින් ස්වයංක්‍රීයව සැකසිය යුතුය, නැතහොත් ඔබ ඔවුන් සමඟ වාචිකව කථා කළ යුතුය.
පීටර් - මොනිකා

Answers:


3735

පළමුව, ඔබ ඔබේ ශාඛාව දේශීයව සාදයි:

git checkout -b <branch-name> # Create a new branch and check it out

ඔබ දුරස්ථ සේවාදායකයට තල්ලු කරන විට දුරස්ථ ශාඛාව ස්වයංක්‍රීයව නිර්මාණය වේ. එබැවින් ඔබට ඒ සඳහා සුදානම් යැයි හැඟෙන විට, ඔබට කළ හැක්කේ:

git push <remote-name> <branch-name> 

<remote-name>සාමාන්‍යයෙන් කොහේද origin, ඔබ ක්ලෝන කළ දුරස්ථයට git දෙන නම. එවිට ඔබේ සගයන් එම ශාඛාව අදින අතර එය ස්වයංක්‍රීයව දේශීයව නිර්මාණය වේ.

කෙසේ වෙතත් විධිමත් ලෙස, ආකෘතිය:

git push <remote-name> <local-branch-name>:<remote-branch-name>

නමුත් ඔබ එකක් අතහැර දැමූ විට, එය උපකල්පනය කරන්නේ ශාඛා නාම දෙකම එක හා සමාන බවයි. මෙය පරෙස්සම් සහගත වචනයක් ලෙස සඳහන් කිරීමෙන් :<remote-branch-name>(මහා බඩවැලේ) පමණක් සඳහන් කිරීමේ තීරණාත්මක වැරැද්ද නොකරන්න , නැතහොත් දුරස්ථ ශාඛාව මකා දැමෙනු ඇත!

එවිට git pullකුමක් කළ යුතු දැයි පසුකාලීනව දැන ගනු ඇත, ඒ වෙනුවට ඔබට භාවිතා කිරීමට අවශ්‍ය විය හැකිය:

git push --set-upstream <remote-name> <local-branch-name> 

පහත විස්තර කර ඇති පරිදි, --set-upstreamවිකල්පය උඩු මහලේ ශාඛාවක් සකසයි:

යාවත්කාලීන හෝ සාර්ථකව තල්ලු කර ඇති සෑම ශාඛාවක් සඳහාම, තර්ක-අඩු git-pull (1) සහ වෙනත් විධානයන් භාවිතා කරන උඩුමහලේ (ලුහුබැඳීමේ) යොමුව එක් කරන්න.


85
Git හි පෙරනිමි හැසිරීම ගැලපෙන refs තල්ලු කිරීම බව සලකන්න , එම නිසා git push <remote>එය නොමැති නම් ශාඛාව තල්ලු නොකරයි <remote>.
ජකුබ් නාරබ්ස්කි

222
ඔබට git push -u <remote-name> <branch-name>ඒ වෙනුවට භාවිතා කිරීමට අවශ්‍ය විය හැකිය , එවිට git pullකුමක් කළ යුතු දැයි පසුව දැන ගනු ඇත.
බාර්ට් ෂූලර්

87
සේවාදායකයේ නම පැහැදිලිව සඳහන් කරනවා වෙනුවට, ඔබට භාවිතා කළ හැකිය origin, එයින් අදහස් වන්නේ "මෙම ගබඩාවේ ඉතිරි කොටස මට ලැබුනේ සේවාදායකයා" යනුවෙනි git push origin <branch-name>.
lambshaanxy

68
ඔබට -uවිකල්පය භාවිතා කිරීමට අමතක වුවහොත් , ඔබට git push -uපසුව ශාඛාව තුළ ටයිප් කළ හැකිය , එවිට ක්‍රියා git pullකරනු ඇත.
ජනවාරි

90
මේ සියල්ල එකට තැබීම මට ප්‍රයෝජනවත් විය git push -u origin <local-branch-name>.
සැමෝ

882

පළමුව, ඔබ ඔබේ ශාඛාව දේශීයව නිර්මාණය කළ යුතුය

git checkout -b your_branch

ඊට පසු, ඔබට ඔබේ ශාඛාවේ දේශීයව වැඩ කළ හැකිය, ඔබ ශාඛාව බෙදා ගැනීමට සූදානම් වූ විට, එය තල්ලු කරන්න. ඊළඟ විධානය මඟින් ශාඛාව දුරස්ථ ගබඩාවේ මූලාරම්භයට තල්ලු කර එය නිරීක්ෂණය කරයි

git push -u origin your_branch

කණ්ඩායම් සාමාජිකයින්ට ඔබේ ශාඛාවට ළඟා විය හැකිය,

git fetch
git checkout origin/your_branch

ඔබට ශාඛාවේ වැඩ කිරීම සහ ඔබට අවශ්‍ය ඕනෑම වේලාවක තල්ලු කිරීම සඳහා තර්ක ඉදිරිපත් නොකොට තල්ලු කළ හැකිය (තර්ක රහිත git push මඟින් ස්වාමියා දුරස්ථ මාස්ටර් වෙත තල්ලු කරනු ඇත, ඔබේ_බ්‍රෑන්ච් දේශීයව දුරස්ථ ඔබේ_බ්‍රාන්ච් යනාදිය ...)

git push

කණ්ඩායම් සාමාජිකයින්ට ඔබගේ ශාඛාව වෙත කොමිස් කිරීම මඟින් තල්ලු කළ හැකි අතර පසුව පැහැදිලිවම තල්ලු කළ හැකිය

... work ...
git commit
... work ...
git commit
git push origin HEAD:refs/heads/your_branch

නැතහොත් git push සඳහා වන තර්ක වළක්වා ගැනීමට ශාඛාව නිරීක්ෂණය කිරීම

git checkout --track -b your_branch origin/your_branch
... work ...
git commit
... work ...
git commit
git push

එකම නමින් දේශීය ශාඛාවක් නිර්මාණය නොකර දුරස්ථ ශාඛාවක් නිර්මාණය කිරීමට ක්‍රමයක් තිබේද?
ඒරියල් ගබිසන්

331

සරල Git 2.0+ විසඳුම:

වන විට Git 2.0 හැසිරීම සරල බවට පත් වී තිබේ :

push.default = currentජීවිතය පහසු කිරීම සඳහා ඔබට git වින්‍යාසගත කළ හැකිය :

මම මෙය එකතු කළ නිසා දැන් මට නව ශාඛාවක් ඉහළට තල්ලු කළ හැකිය

$ git push -u

-uඑකම නමින් දුරස්ථ ශාඛාවක් නිරීක්ෂණය කරනු ඇත. දැන් මෙම වින්‍යාසය සමඟ ඔබ දුරස්ථ යොමුව git push වෙත ස්වයංක්‍රීයව අනුමාන කරනු ඇත. සිට git.config ප්රලේඛනය :

push.default

නිශ්චිතවම නිශ්චිතව දක්වා නොමැති නම් git push විසින් ගත යුතු ක්‍රියාමාර්ගය අර්ථ දක්වයි.

push.default = current- ලැබීමේ කෙළවරේ එකම නමක් ඇති ශාඛාවක් යාවත්කාලීන කිරීමට වත්මන් ශාඛාව තල්ලු කරන්න. මධ්යම හා මධ්යම නොවන වැඩ ප්රවාහයන්හි ක්රියා කරයි.

මට නම් මෙය මගේ එදිනෙදා Git වැඩ ප්‍රවාහයේ හොඳ සරල කිරීමකි. වින්‍යාස සැකසුම ඔබ දේශීයව ශාඛාවක් එක් කරන අතර එය දුරස්ථව නිර්මාණය කිරීමට අවශ්‍ය 'සුපුරුදු' භාවිත අවස්ථාව ගැන සැලකිලිමත් වේ. එසේම, මට git co remote_branch_name( --set-upstream-toකොඩිය භාවිතා කිරීමට වඩා වෙනස්ව ) දුරස්ථ වලින් දේශීය ශාඛා පහසුවෙන් නිර්මාණය කළ හැකිය .

මෙම ප්‍රශ්නය මම දනිමි. පිළිගත් පිළිතුරු තරමක් පැරණි ය, නමුත් හැසිරීම වෙනස් වී ඇති බැවින් ඔබේ කාර්ය ප්‍රවාහය සරල කිරීම සඳහා වින්‍යාස විකල්ප තිබේ.

ඔබගේ ගෝලීය Git වින්‍යාසයට එක් කිරීමට, විධාන රේඛාවේ මෙය ක්‍රියාත්මක කරන්න:

$ git config --global push.default current

5
මම සොයා git push -u origin HEADපිළිතුරු ලෙස මෙහි (ඔබ කරන දේ ලියන්න) තව ටිකක් විස්ථරාත්මක ටයිප් කිරීමට තරම් නැතිව. තවද, git push -uශාඛාව නිර්මාණය කර ඇත්නම් අමතර තර්ක නොමැතිව මට වැඩක් නොවීය-t
Qw3ry

git config --global push.default upstream && git checkout -b foo && <change a file> && git push -uක්‍රියා නොකරයි (git 2.19.1 අනුව); තල්ලු කිරීම සඳහා දුරස්ථ හා ශාඛා තර්ක අවශ්‍ය වේ.
knite

ඔබ අදහස් කරන දෙය පුළුල් කළ හැකිද git co remote_branch_name?
flannelbeard

මට වැඩ කළේ නැහැ. එකතු කිරීමෙන් විසඳනු ලැබේ ~/.profile: function gitb() { git checkout -b $1 && git push --set-upstream origin $1; }පසුව කළ හැකිය gitb feature/abcd- මෙය අතිරේක තර්ක සඳහා git pullසහ git pushරහිතව එය සකසයි + නම සැබවින්ම නොමිලේ දැයි තහවුරු කර ගැනීම සඳහා නව ශාඛාව දුරස්ථ ගබඩාවට තල්ලු කරයි.
youurayy

-uධජය එක් කිරීමට ඔබට අමතක වී ඇති අතර එහි අඩංගු git push -u දැයි පරීක්ෂා කර බලන්න මට නම් එය ක්‍රියාත්මක වේ. Git v2.27 වන විට, පෙරනිමි තල්ලු කිරීමේ උපාය මාර්ගයක් සැකසීමට ඔබෙන් විමසනු ඇති බව මතක තබා ගන්න. සමහර විට ඔබේ පෙරනිමි වෙනස් නොවේද? git config --listpush.default=currentgit push -u
ජෙස්පර් රෝන්-ජෙන්සන්

84

පෙර පිළිතුරු වල සඳහන් පරිදි,

git push <remote-name> <local-branch-name>:<remote-branch-name>

දේශීය ශාඛාවක් තල්ලු කිරීමට ප්‍රමාණවත්.

ඔබේ සගයන්ට, මෙම විධානය සමඟ සියලුම දුරස්ථ ශාඛා (නව ඒවා ඇතුළුව) ඇද ගත හැකිය:

git remote update

ඉන්පසු, ශාඛාවේ වෙනස්කම් සිදු කිරීම සඳහා සුපුරුදු ප්‍රවාහය:

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

මම කැමතියි මේ හේතුව නිසා එය දුරස්ථ නාමය දේශීය නමට වඩා වෙනස් වීමට ඉඩ සලසයි
ඒරියල් ගැබිසන්

66

වත්මන් ශාඛාව මත පදනම්ව දේශීයව නව ශාඛාවක් සාදන්න:

git checkout -b newbranch

ඔබ සාමාන්‍යයෙන් කරන ඕනෑම වෙනස්කමක් කරන්න. ඉන්පසු එය ඉහළට තල්ලු කරන්න:

git push -u origin HEAD

මෙය වර්තමාන ශාඛාව එකම නමකින් යුත් ශාඛාවකට තල්ලු කර originඑය ලුහුබැඳීමට කෙටිමඟකි, එවිට ඔබට origin HEADඅනාගතයේදී නියම කිරීමට අවශ්‍ය නොවේ .


4
මෙය මගේ නඩුවට උපකාරී විය : git push -u origin HEAD. මම හිතන්නේ එය වඩාත් පැහැදිලි ක්‍රමයයි.
Scadge

2
ඔව්, ඔබ අවසන් වරට ශාඛාවක් ලෙස ටයිප් කළ දේ ඔබට කවදාවත් මතක නැත, එබැවින් මෙය යා යුතු මාර්ගයයි.
markyzm

4
@marksyzm ඔබ සිටින්නේ කුමන ශාඛාවේද යන්න හෝ ඔබ එය නම් කළේ කුමක් දැයි ඔබට මතක නැති නම්, ඔබ කිසිසේත් තල්ලු නොවිය යුතුය! අවම වශයෙන්, git statusපළමුවෙන් ධාවනය නොකර .
සෙනෙක්සර්

1
ඔව්, ලෝකය එම තල්ලුව පුපුරා නොයන බවට වග බලා ගත යුතුයි; මම එකඟයි.
markyzm

1
එකවර ලුහුබැඳීමේ ශාඛාවක් මෙන්ම දුරස්ථ ශාඛාවක් නිර්මාණය කිරීම සඳහා වඩාත් කාර්යක්ෂම ක්‍රමය මෙයයි. git remote show originනව ලුහුබැඳීම් / ලුහුබැඳ ඇති සම්බන්ධතාවය දෘශ්‍යමාන කිරීම සඳහා තුන්වන පියවරක් ලෙස එක් කිරීමට මම කැමතියි .
hb5fa

54

වත්මන් ශාඛාවෙන් ශාඛාවක් සෑදීමට ඔබට අවශ්ය නම්

git checkout -b {your_local_branch_name} 

ඔබට දුරස්ථ ශාඛාවකින් ශාඛාවක් අවශ්‍යයි, ඔබට උත්සාහ කළ හැකිය

git checkout -b {your_local_branch_name} origin/<remote_branch_name>

ඔබ වෙනස්කම් වලින් සිදු කර ඇත්නම් ඔබට ගොනුව එක් කළ හැකිය.

git add -A or git add <each_file_names>

ඉන්පසු දේශීයව කැපවීමක් කරන්න

git commit -m 'your commit message'

ඔබට දුරස්ථ repo වෙත තල්ලු කිරීමට අවශ්‍ය වූ විට

git push -u origin <your_local_branch_name>

සියල්ල එකට වනු ඇත

git checkout -b bug_fixes 

හෝ දුරස්ථ ශාඛාවකින් ශාඛාවක් සෑදීමට ඔබට අවශ්‍ය නම් සංවර්ධනය යැයි කියන්න

git checkout -b bug_fixes සම්භවය / සංවර්ධනය

ඔබට දුරස්ථ repo වෙත ශාඛාවට තල්ලු කළ හැකිය

git push -u origin bug_fixes

ඔබට වෙනත් ඕනෑම ශාඛාවකින් ඔබේ ශාඛාව යාවත්කාලීන කිරීමට අවශ්‍ය ඕනෑම වේලාවක කියන්න මාස්ටර් .

git pull origin master.


46

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

git push origin HEAD:refs/heads/foo

එය ඔබගේ හෙඩ් ඕනෑම දෙයක් දුරස්ථයේ නොතිබූ අතු බෙදීමට තල්ලු කරයි .


මෙය කිරීමෙන් මගේ දෘශ්‍ය චිත්‍රාගාරය නිවැරදිව ආරම්භ නොවන තැනට සම්පූර්ණයෙන්ම ව්‍යාකූල විය. කණ්ඩායම් ගවේෂකය කිසිසේත් පටවන්නේ නැත, නමුත් අනෙක් සියල්ලම බොන්කර්වරු දෝෂ විසි කළහ. යන්තම් FYI.
ජොෂ්

මෙය ක්‍රියාත්මක විය යුතු බවක් පෙනේ, නමුත් මම එය ඇත්ත වශයෙන්ම උත්සාහ කළ විට, අපගේ ගිට්ලැබ් සේවාදායකය එහි ප්‍රති result ලය ශාඛාවක් ලෙස හඳුනාගෙන නැත.
ජෝශප් එච්

දුරස්ථව අතු බෙදී ඇති කුමන ශාඛාවද? මට foo2 අතු බෙදීමට අවශ්‍ය නම් කුමක් කළ යුතුද? එය කළ හැකිද? ඔබට ස්තුතියි.
user674669

එය ජෙරිට් සේවාදායකයේ ද ක්‍රියා කරයි, මෙම විධානයට පෙර නොතිබූ දුරස්ථයේ නව ශාඛාවක් නිර්මාණය කරයි.
මයිකල්

33

පහසුම විසඳුම ... ඩ්‍රම් රෝල් ... git අනුවාදය 2.10.1 (Apple Git-78)

1) git checkout -b localBranchNameThatDoesNotExistInRemote

2) Do your changes, and do a git commit 

3) git push origin localBranchNameThatDoesNotExistInRemote --force

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


3
ඔබගේ යෝජනාවට ස්තූතියි. ඔබ මෙය පහසු විසඳුමක් ලෙස හැඳින්වුවද, මම තවමත් සිතන්නේ git push -uඑය පහසු බවය. ඔබට එක් ගෝලීය වින්‍යාස රේඛාවක් අවශ්‍ය බව, stackoverflow.com/a/27185855/109305 බලන්න . මම git push -uනිරන්තරයෙන් භාවිතා කරමි , එය වැඩ කරන විට මගේ භාවිත කේක් වලින් 99% ක් ආවරණය කරයි.
ජෙස්පර් රෝන්-ජෙන්සන්

31

[ඉක්මන් පිළිතුර]

ඔබට එය පියවර 2 කින් කළ හැකිය:

1.checkout දේශීය ශාඛාව නිර්මාණය කිරීම සඳහා භාවිතා කරන්න :

git checkout -b yourBranchName

2.push ශාඛාව ස්වයංක්‍රීයව නිර්මාණය කිරීමට විධානය භාවිතා කර කේතය දුරස්ථ ගබඩාවට යවන්න:

git push -u origin yourBranchName

මෙය කිරීමට විවිධ ක්‍රම තිබේ නමුත් මෙම ක්‍රමය ඇත්තෙන්ම සරල යැයි මම සිතමි.


1
ඉක්මන් හා කාරණය!
දේව්

26

පළමුව ඔබ ශාඛාව දේශීයව සාදන්න:

git checkout -b your_branch

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

git push --set-upstream origin your_branch

සටහන: මෙය git හි නවතම අනුවාදයන් මත ක්‍රියා කරයි:

$ git --version
git version 2.3.0

චියර්ස්!


මෙය git pushඔබේ ප්‍රාදේශීය ශාඛාව දුරස්ථව ලුහුබැඳ නොයන විට විධානය මඟින් ජනනය කරන උපකාරක පෙළ පමණි .
නුරෙටින්

18

ඔබේ දේශීය යන්ත්‍රයේ ශාඛාව සාදා මෙම ශාඛාව තුළට මාරු වන්න:

$ git checkout -b [name_of_your_new_branch]

ගිතබ් මත ශාඛාව තල්ලු කරන්න:

$ git push origin [name_of_your_new_branch]

ඔබේ ශාඛාවේ යමක් කිරීමට ඔබට අවශ්‍ය වූ විට, ඔබේ ශාඛාවේ සිටීමට වග බලා ගන්න.

භාවිතා කිරීමෙන් නිර්මාණය කරන ලද සියලුම ශාඛා ඔබට දැක ගත හැකිය:

$ git branch

එය පෙන්වන්නේ:

* approval_messages
  master
  master_clean

ඔබේ ශාඛාව සඳහා නව දුරස්ථයක් එක් කරන්න:

$ git remote add [name_of_your_remote] 

ඔබගේ කැපවීමෙන් වෙනස්වීම් ඔබේ ශාඛාවට තල්ලු කරන්න:

$ git push origin [name_of_your_remote]

නිල ගබඩාවෙන් මුල් ශාඛාව යාවත්කාලීන කළ විට ඔබේ ශාඛාව යාවත්කාලීන කරන්න:

$ git fetch [name_of_your_remote]

ඒකාබද්ධ කිරීමේ වෙනස්කම් සඳහා ඔබ අයදුම් කළ යුතුය, ඔබේ ශාඛාව සංවර්ධනයෙන් ව්‍යුත්පන්න වී ඇත්නම් ඔබ කළ යුත්තේ:

$ git merge [name_of_your_remote]/develop

ඔබේ දේශීය ගොනු පද්ධතියේ ශාඛාවක් මකන්න:

$ git branch -d [name_of_your_new_branch]

ඔබේ ගොනු පද්ධතියේ දේශීය ශාඛාව මකා දැමීමට බල කිරීම සඳහා:

$ git branch -D [name_of_your_new_branch]

ගිතුබ්හි ශාඛාව මකන්න:

$ git push origin :[name_of_your_new_branch]

මෙන්න සියලුම තොරතුරු

පවත්නා වෙනත් ව්‍යාපෘති


14

පවත්නා ශාඛාවකින් දේශීය ශාඛාවක් නිර්මාණය කිරීම (ප්‍රධාන / සංවර්ධනය / වෙනත් ඕනෑම ශාඛාවක් විය හැකිය).

git checkout -b branch_name

මෙය දුරස්ථයට තල්ලු කරන්න

git push -u remote_name local_branch_name: remote_branch_name

මෙහි,

  1. -u: උඩුමහලේ ශාඛාව සකසයි
  2. remote_name: නිධිය නිර්මාණය කරන විට git පෙරනිමියෙන් නම "සම්භවය" ලෙස සකසයි. කෙසේ වෙතත් මෙය වෙනත් අත්තනෝමතික නමකට වෙනස් කළ හැකිය.
  3. local_branch_name: තල්ලු කළ යුතු දේශීය ශාඛාවේ නමයි.
  4. remote_branch_name: දුරස්ථව අපට නිර්මාණය කිරීමට අවශ්‍ය දුරස්ථ ශාඛාවේ නමයි.

අපි දේශීය හා දුරස්ථ ශාඛා නම් ඉවත් කළහොත් එයට ආකෘතිය ඇත

git push -u remote_name branch_name

මෙය ප්‍රාදේශීය ශාඛාව දුරස්ථව හා ප්‍රාදේශීය ශාඛා ශාඛා නාමයට සමාන නමක් සහිතව තල්ලු කරයි. ප්‍රාදේශීය ශාඛාව දුරස්ථ ශාඛාව ද නිරීක්ෂණය කරනු ඇත.


10

මෙම ප්‍රශ්නයට හොඳ පිළිතුරක් ඇති බව මම දනිමි, නමුත් අවශ්‍ය වූයේ නව ශාඛාවක් "myNewBranch" නිර්මාණය කිරීමට සහ දුරස්ථ (මගේ නඩුවේ "සම්භවය") වෙත තල්ලු කර ලුහුබැඳීම සැකසීමට ය. මෙය "TL; DR" අනුවාදය සලකා බලන්න :)

# create new branch and checkout that branch
git checkout -b myNewBranch
# now push branch to remote 
git push origin myNewBranch
# set up the new branch to track remote branch from origin
git branch --set-upstream-to=origin/myNewBranch myNewBranch

8

දැන් git සමඟ, ඔබ නිවැරදි ශාඛාවේ සිටින විට ටයිප් කළ හැකිය

git push --set-upstream origin <remote-branch-name>

සහ ආරම්භක ශාඛාව ඔබ වෙනුවෙන් නිර්මාණය කරන්න.


1
-u කෙටි වේ --set-upstream .. එබැවින් විධානය git push -u සම්භවය විය හැකිය <remote-branch-name>
Uncaught Exception

මාරාන්තික: 'සම්භවය' යනු git ගබඩාවක් ලෙස නොපෙනේ
දිමිත්‍රි ග්‍රින්කෝ

සමහර විට ඔබ ඔබේ git ගබඩාවේ මූලාරම්භය සැකසිය යුතුය
Maurizio Brioschi

8

එය එකතු කිරීමට අවශ්‍ය වූයේ:

git checkout -b {branchName}

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

git branch {branchName}

පළමු විධානයෙහි, "පිටවීම" මඟින් ඔබේ වර්තමාන ශාඛාව ශාඛාවක් බවට පත් කරයි, සහ "-b" යන්නෙන් අදහස් කරන්නේ: මෙම ශාඛාව තවමත් නොපවතින බැවින් එය මා වෙනුවෙන් සාදන්න.


6

ප්‍රභව ගස හරහා කරන්නේ කෙසේද

 1: Open SourceTree, click on Repository -> Checkout
 2 :Click on Create New Branch
 3: Select branch where from you want to get code for new branch 
 4: Give your branch name
 5: Push the branch  (by click on Push button)

5

git push -u <remote-name> <branch-name> අළුතින් සාදන ලද ශාඛාව එකම ගබඩාවකින් බිහි නොවන්නේ නම් ක්‍රියා නොකරයි, එනම් ඔබ නව ශාඛාව භාවිතා කර නොමැති නම් git checkout -b new_branch නම් මෙය ක්‍රියාත්මක නොවේ.

නිදසුනක් ලෙස, මම දේශීය වශයෙන් විවිධ නිධි දෙකක් ක්ලෝන කර ඇති අතර මට repo2 / branch1 repo1 / වෙත පිටපත් කිරීමට සිදු වූ අතර පසුව එයද තල්ලු කරන්න.

මෙම සබැඳිය මගේ ප්‍රාදේශීය ශාඛාව (වෙනත් ගබඩාවකින් ක්ලෝන කර) මගේ දුරස්ථ ගබඩාවට තල්ලු කිරීමට මට උදව් විය:


3

මෙන්න ඔබ එගිට් හරහා සූර්යග්‍රහණයෙන් එය කරන ආකාරය.

1) "Git Repository Exporing" දර්ශනයට ගොස් ඔබට ශාඛාවක් සෑදීමට අවශ්‍ය git ව්‍යාපෘතිය පැහැදිලි කරන්න. බ්‍රැන්ස් යටතේ -> දේශීය .. ඔබට ශාඛාව නිර්මාණය කිරීමට අවශ්‍ය ශාඛාව තෝරන්න (මගේ නඩුවේදී මාස්ටර් තෝරා ගත්තා .. ඔබට අවශ්‍ය නම් වෙනත් ශාඛාවක් තෝරා ගත හැකිය) .. ඉන්පසු දකුණු ක්ලික් කර Create Branch විකල්පය මත ක්ලික් කරන්න .. මෙම ව්‍යාපෘති විකල්පය පිරික්සීමෙන් පසුව අවසන් බොත්තම ක්ලික් කරන්න.

2) දැන් ව්‍යාපෘති ගවේෂක වෙතින් ව්‍යාපෘතිය තෝරන්න .. දකුණු ක්ලික් කර කණ්ඩායම -> තල්ලු ශාඛාව.

නව දුරස්ථ ශාඛාවක් නිර්මාණය වනු ඇත. ඔබේ සගයන්ට එය ඇද ගැනීමට හැකි වන පරිදි ඔබට ශාඛාවේ නම ලබා දිය හැකිය.


Egit - සහ JGit මත පදනම් වූ සියලුම සේවාදායකයින් වන AFAIK පිළිබඳ ස්පර්ශක අනතුරු ඇඟවීම: ඔවුන් සහාය නොදක්වයි .Gitattributes! මෙයින් අදහස් වන්නේ ඔබේ කණ්ඩායම වින්ඩෝස් (සීආර්එල්එෆ්) සහ ලිනක්ස් / ඕඑස්එක්ස් (එල්එෆ්) මිශ්‍රණයක් භාවිතා කරන්නේ නම්, සෑම සේවාදායකයෙකුටම සෑම විටම නිවැරදි සැකසුම් ඇති අය මත රඳා සිටිය යුතු බවයි. ස්වාභාවිකවම රේඛා අවසානයන් repo හෝ ව්‍යාපෘති මට්ටමින් කළමනාකරණය කිරීම වඩා හොඳ වන අතර .Gitattributes යනු මෙය කිරීමට සහාය වන ක්‍රමයයි. ඉතින්, ඔබට නියත වශයෙන්ම එගිට් භාවිතා කිරීමට අවශ්‍ය නැතිනම් ... එපා! :)
cweekly

2

ශාඛා නිර්මාණය කිරීමට මම ක්‍රම දෙකක් භාවිතා කර ඇත්තෙමි

ඔබ ඉබ්බා භාවිතා කරන්නේ නම් මෙම පියවර අනුගමනය කරන්න: -

1. ඉබ්බා ගිට් භාවිතයෙන් ශාඛාව සාදන්න

ඔබේ ව්‍යාපෘතිය මත දකුණු ක්ලික් කරන්න >>> ඉබ්බා ගිට් >>> ශාඛාව සාදන්න >>> ශාඛාවේ නම ලියා මූලික ශාඛාව තෝරා ඉන්පසු ඔබන්න

2. ශාඛාව තල්ලු කරන්න

ඔබේ ව්‍යාපෘතිය මත දකුණු ක්ලික් කරන්න >>> ඉබ්බා ගිට් >>> තල්ලු කරන්න >>> හරි ක්ලික් කරන්න

3. නව ශාඛාවට මාරුවන්න

ඔබේ ව්‍යාපෘතිය මත දකුණු ක්ලික් කරන්න >>> TortoiseGit >>> Switch / Checkout >>> අලුතින් සාදන ලද ශාඛාව තෝරා OK ඔබන්න

ඔබ විධාන විමසුමක් භාවිතා කරන්නේ නම් මෙම පියවර අනුගමනය කරන්න: -

1. විධාන විමසුමක් භාවිතා කරමින් ශාඛාව සාදන්න

check git checkout -b new_branch_name

2. ශාඛාව තල්ලු කරන්න

$ git push සම්භවය new_branch_name

3. නව ශාඛාවකට මාරුවීම එය දැනටමත් නව_බ්‍රාන්ච්_ නාමයට මාරු වනු ඇත, එසේ නොමැතිනම් ඔබට භාවිතා කළ හැකිය

check git checkout new_branch_name


0

මම මෙය භාවිතා කරන අතර එය ඉතා පහසුය:

git config --global alias.mkdir '!git checkout -b $1; git status; git push -u origin $1; exit;'

භාවිතය: git mkdir NEW_BRANCH

ඔබට git තත්ත්වය පවා අවශ්‍ය නොවේ; සමහර විට, මට අවශ්‍ය වන්නේ සියල්ල හොඳින් සිදුවන බවට වග බලා ගැනීමයි ...

ඔබට එක් විධානයක් සමඟ LOCAL සහ REMOTE ශාඛාව තිබිය හැකිය.


0

මම මෙය මගේ කඩයට එකතු කිරීමෙන් විසඳා ඇත ~/.profile:

function gitb() { git checkout -b $1 && git push --set-upstream origin $1; }

නව දේශීය + දුරස්ථ ශාඛාවක් ආරම්භ කිරීම සඳහා, මම ලියන්නේ:

gitb feature/mynewbranch

මෙම ශාඛා නිර්මාණය හා පළමු තල්ලුව කරන්නේ, හුදෙක් පිහිටුවීමට සොයා (පසුව එසේ බව git pullහා git pushවැඩ අමතර තර්ක තොරව), නමුත් ඇත්තටම ඉලක්කය ණයකට දැනටමත් එය එවැනි ශාඛා නොමැති බව තහවුරු.

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.