මට නිතරම `--සෙට්-අප්ස්ට්‍රීම් 'කිරීමට අවශ්‍ය ඇයි?


1484

මම Git හි නව ශාඛාවක් නිර්මාණය කරමි:

git branch my_branch

එය තල්ලු කරන්න:

git push origin my_branch

දැන් කියන්න කවුරුහරි සේවාදායකයේ යම් යම් වෙනස්කම් සිදු කර ඇති අතර මට එයින් ඉවත් වීමට අවශ්‍යයි origin/my_branch. මම කරනවා:

git pull

නමුත් මට ලැබෙන්නේ:

You asked me to pull without telling me which branch you
want to merge with, and 'branch.my_branch.merge' in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.

If you often merge with the same branch, you may want to
use something like the following in your configuration file:

    [branch "my_branch"]
    remote = <nickname>
    merge = <remote-ref>

    [remote "<nickname>"]
    url = <url>
    fetch = <refspec>

See git-config(1) for details.

මට එය සමඟ වැඩ කිරීමට හැකි බව මම ඉගෙන ගතිමි:

git branch --set-upstream my_branch origin/my_branch

නමුත් මා නිර්මාණය කරන සෑම ශාඛාවක් සඳහාම මෙය කිරීමට අවශ්‍ය ඇයි? එය මම තල්ලු නම් බව පැහැදිලි නොවේ my_branchබවට origin/my_branch, මම බේරා ගැනීමට අවශ්ය වනු origin/my_branchබවට my_branch? මෙය සුපුරුදු හැසිරීම බවට පත් කරන්නේ කෙසේද?


21
පෙරනිමිය branch.autosetupmergeයනු නව ශාඛාවක් සඳහා උඩුගං වින්‍යාසය ස්වයංක්‍රීයව සකසා ඇත්තේ දුරස්ථ ලුහුබැඳීමේ ශාඛාවකින් ශාඛාවක් නිර්මාණය කිරීමේදී පමණි (උදා <remote-name>/<branch-name>) ( git-config (1) බලන්න ). ඔබ බොහෝ විට පවතින ශාඛා වලින් ඔබේ ශාඛා නිර්මාණය කරයි. ඔබ දුරස්ථ ශාඛාවක කෙළවරේ සිට effectively ලදායී ලෙස අතු බෙදී යන්නේ නම් (ප්‍රාදේශීය ශාඛාවක සිටියද), එවිට ඔබට git branch my_branch <remote-name>/<branch-name>ස්වයංක්‍රීයව උඩරට වින්‍යාසය සැකසීමට භාවිතා කළ හැකිය .
ක්‍රිස් ජොන්සන්

21
FYI, --set-upstreamවිකල්පය අතහැර දමා ඇත. ඔබ භාවිතා කළ යුතුය --trackහෝ --set-upstream-toඒ වෙනුවට.
සීන් ද බීන්

141
--set-upstreamඅවලංගු කර ඇත්නම් , සමහර විට ඔබ git pushවිකල්පයන් නොමැතිව ධාවනය වන විට සහ උඩුගං බලා නොසිටින විට දර්ශනය වන උපකාර පණිවිඩයෙන් git devs එය ඉවත් කළ යුතුද ?
ක්‍රිස්ටෝපර් හන්ටර්

17
Hist ක්‍රිස්ටෝපර් හන්ටර් ඔබේ අදහස් දැක්වීමෙන් වසරකට වැඩි කාලයක් ගත වී ඇති අතර එය තවමත් එසේ පවසයි. එය හුදෙක් අලස ප්‍රතිපෝෂණයක්ද? එසේත් නැතිනම් අප නොදැනුවත්වම එය තබා ගැනීමට තාක්‍ෂණිකව wise ානවන්ත හේතුවක් තිබේද?
කොන්රාඩ් විල්ටර්ස්ටන්

15
H ක්‍රිස්ටෝපර් හන්ටර් ඉවත් git branch --set-upstreamකර ඇත. git push --set-upstreamනැත.
බ්‍රයන් ගෝර්ඩන්

Answers:


1556

කෙටිමඟක්, git branch --set-upstream 1 සඳහා වාක්‍ය ඛණ්ඩය මතක තබා ගැනීම මත රඳා නොපවතී :

git push -u origin my_branch

... ඔබ එම ශාඛාව තල්ලු කළ පළමු අවස්ථාව. නැතහොත්, වර්තමාන ශාඛාවට එකම නමකින් යුත් ශාඛාවකට තල්ලු කිරීම (අන්වර්ථයක් සඳහා පහසුය):

git push -u origin HEAD

ඔබට භාවිතා කිරීමට අවශ්‍ය වන්නේ -uඑක් වරක් පමණක් වන අතර, එමඟින් ඔබේ ශාඛාව සහ ශාඛාව අතර සම්බන්ධතාවය originඑකම ආකාරයකින් සකසයි git branch --set-upstream.

පුද්ගලිකව, මම හිතන්නේ ඔබේ ශාඛාව සහ දුරස්ථයේ එක් අයෙකු අතර එම සම්බන්ධය පැහැදිලිවම සැකසීම හොඳ දෙයක්. නීති රීති වෙනස් වන git pushඅතරgit pull එය ලැජ්ජාවකි .


1 එය මෝඩකමක් ලෙස පෙනෙන්නට පුළුවන, නමුත් මම බොහෝ විට වත්මන් ශාඛාව නියම කිරීමට අමතක කරමි, එය පෙරනිමිය යැයි උපකල්පනය කරයි - එය එසේ නොවේ, සහ ප්‍රති results ල වඩාත් ව්‍යාකූල වේ :)

යාවත්කාලීන කිරීම 2012-10-11 : පෙනෙන හැටියට වැරදියට තේරුම් ගැනීම පහසු වූ එකම පුද්ගලයා මම නොවේ! Git 1.8.0 වඩාත් පැහැදිලිව හඳුන්වා දෙන බව පෙන්වා දීම ගැන VonC ට ස්තූතියි git branch --set-upstream-to, ඔබ ශාඛාවේ සිටී නම් පහත පරිදි භාවිතා කළ හැකිය my_branch:

git branch --set-upstream-to origin/my_branch

... හෝ කෙටි විකල්පය සමඟ:

git branch -u origin/my_branch

මෙම වෙනස සහ එහි තර්කනය git 1.8.0 සඳහා නිකුත් කිරීමේ සටහන් වල විස්තර කර ඇත .

එය කීමට පෙළඹවීමක් ඇති git branch --set-upstream origin/masterනමුත්, එය origin/masterදැනට පරීක්ෂා කර ඇති ශාඛාව සමඟ ඒකාබද්ධ වීමට දේශීය ශාඛාව සංවිධානය කරන ලෙස ගිට්ට පවසයි . විකල්පය අතහැර දමා ඇත; ඒ වෙනුවට නව --set-upstream-to(කෙටි හා පැණිරස -u) විකල්පය භාවිතා කරන්න.


95
ඔබ -uපළමු වරට තල්ලු කිරීම අමතක කළත්, ඔබට එම ධජය සමඟ නැවත තල්ලුව ධාවනය කළ හැකි අතර එය ලුහුබැඳීම ආරම්භ කරන බව සලකන්න .
හෙන්රික් එන්

70
මේ කිසිවක් තර්කයකින් තොරව git push භාවිතා කිරීමේ අවස්ථාව තෘප්තිමත් නොකරයි. මගේ නව ශාඛාව පළමු වරට දුරස්ථයට ගෙන යන විට 'git push -u origin my-branch' මතක තබා ගත යුතුව ඇත.
කාල් ද මිථ්‍යාදෘෂ්ටික

20
එම වාක්‍ය alias gpo="git push --set-upstream origin $(git branch | awk '/^\* / { print $2 }')"
ඛණ්ඩය

99
මේ සියල්ල හොඳයි, නමුත් මම තවමත් සිතන්නේ OP හි පැමිණිල්ල වලංගු බවයි. ඔබ දේශීය ශාඛාවක් ආරම්භ කරන්න, එය මත වැඩ කරන්න, බෙදා ගැනීමට එය ආරම්භයට තල්ලු කරන්න (තර්ක නොමැතිව); ඇයි එය උඩු යටිකුරු නොකළ යුත්තේ? කිසියම් හේතුවක් නිසා නව ශාඛාවක් දුරස්ථයකට තල්ලු කිරීමේදී ඉහළට නොයැවීම ඇත්තෙන්ම සුදුසු ද?
GaryO

23
මුළු කාලයම වටින්නේ නැත. එය ස්වයංක්‍රීයව එය නොකරන්නේ ඇයි?
sudo

1366

අඩු ටයිප් කිරීමකින් ඔබට මෙය කළ හැකිය. පළමුව, ඔබේ තල්ලුව ක්‍රියා කරන ආකාරය වෙනස් කරන්න:

git config --global push.default current

මෙය origin my_branchකොටස අනුමාන කරයි , එබැවින් ඔබට මෙය කළ හැකිය:

git push -u

එමඟින් දෙදෙනාම එකම නමකින් දුරස්ථ ශාඛාව නිර්මාණය කර එය නිරීක්ෂණය කරනු ඇත.


4
අලුතින් සාදන ලද ගබඩාවේ අලුතින් සාදන ලද ශාඛාවක් සඳහා originධාවනය වන විට git අනුමාන කරන්නේ කෙසේද git push -u? නිධිය ක්ලෝන කර ඇති බවට උපකල්පනය කර ඇති පරිදි වර්තමාන ශාඛාව එහි දුරස්ථ කට්ටලය සකසා originතිබේද?
Piotr Dobrogost

75
මෙය පෙරනිමිය විය යුතුය. Git හි ඇති බොහෝ දේ වඩා හොඳ පෙරනිමි සමඟ නැව්ගත කරන්නේ නම් එය පරිශීලක-හිතකාමී විය හැකිය.
phreakhead

14
එකම දේ කිරීමට 'සරල' භාවිතා කරනවාට වඩා 'ධාරාව' තරමක් අනාරක්‍ෂිත බව මතක තබා ගන්න, stackoverflow.com/questions/23918062/…
Air

31
එය සිදු වේ, නමුත් ඔබ උත්සාහ කරන විට ඔබට pullකොහෙන්ද යන්න නියම කළ යුතුය. මෙම -uකට්ටලය සම්භවය සහ ඔබේ දේශීය ගබඩාව අතර ශාඛා ලුහුබැඳීම සකසයි.
සමිත්

8
සුළු වශයෙන් පහසු වුවත්, මෙය තවමත් නියම කරන්නේ පළමු හා එකම සඳහා වෙනත් විධානයක් ක්‍රියාත්මක කළ යුතු බවයි push- මෙම ප්‍රශ්නයේ සමස්ත කරුණම පරාජය කරයි. කෙටියෙන් කිවහොත් හොඳ පිළිතුරක් නැත. පුළුල් ප්‍රජා විසම්මුතිය හමුවේ මෙම අමුතු පරිශීලක අත්දැකීම් (AUX) රඳවා ගැනීමට Git සංවර්ධකයින් අවධාරනය කරන්නේ ... බුද්ධිමත් ය. සහ අධෛර්යමත් කිරීම. (බොහෝ දුරට අධෛර්යමත් කරයි.)
සිසිල් කරි

88

ඔබට සරලව කළ හැකිය

git checkout -b my-branch origin/whatever

මුලින්. ඔබ නියම නම් branch.autosetupmergeහෝ branch.autosetuprebase(මගේ ප්රියතම) වෙත always(පෙරනිමිය වන true), my-branchස්වයංක්රීයව සොයා ගත origin/whatever.

බලන්න git help config.


5
මෙය "මාරාන්තික: මාර්ග යාවත්කාලීන කළ නොහැකි අතර එකවර 'මගේ ශාඛාව' ශාඛාවට මාරු විය නොහැක."
කාල් ද මිථ්‍යාදෘෂ්ටික

12
මාර්ගය වන විට, මම සාමාන්‍යයෙන් පමණක් git checkout -t origin/whateverවන අතර whateverඑය නව ශාඛා නාමය ලෙසද තෝරා ගනී . ඉතා පහසුයි!
cdunn2001

2
dcdunn මෙය ඉතා සුදුසු නමුත් කිසිසේත්ම අනුකූල නොවේ. ධජය -u/ ලෙස හැඳින්විය යුතුය --set-upstream.
ටෝබු

1
git checkout -t origin/whateverනව ශාඛාවක් නිර්මාණය කිරීමට උත්සාහ කරන විට මට වැඩ නොකරයි:fatal: Cannot update paths and switch to branch 'whatever' at the same time.
wisbucky

1
git checkout -b my-branch origin/whateverඑසේම එකම දෝෂයක් ඇත (මම දේශීය හෝ දුරස්ථව නොපවතින නව ශාඛාවක් නිර්මාණය කිරීමට උත්සාහ කරමි): fatal: Cannot update paths and switch to branch 'whatever' at the same time.
wisbucky

85

මෙය ද ෆක් සඳහා මගේ වඩාත් පොදු භාවිතයයි .

$ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin master

$ fuck
git push --set-upstream origin master [enter/↑/↓/ctrl+c]
Counting objects: 9, done.
...

එසේම, ඔබගේ පර්යන්තයේ දිවුරුම් වචන ටයිප් කිරීම විනෝදජනක ය.


1
මෙය වින්ඩෝස් වෙත ගෙනයාමට අවශ්‍ය වේ (හෝ අවම වශයෙන් git-bash).
බ්‍රයන් එච්වීබී

1
හොඳයි මේ කුඩා සොයාගැනීම මගේ දවස බවට පත් කළා. ස්තූතියි
අයිවන් ඩර්ස්ට්

81

ඔබට ක්‍රම දෙකකින් ඉහළට සරල ලෙස සැකසිය හැකිය. පළමුව ඔබ ශාඛාව නිර්මාණය කරන විට:

git branch -u origin/my-branch

හෝ ඔබ ශාඛාවක් නිර්මාණය කිරීමෙන් පසුව, ඔබට මෙම විධානය භාවිතා කළ හැකිය.

git push -u origin my-branch

ඔබට තනි විධානයකින් ශාඛා, පරීක්ෂා කර ඉහළට යන්න පුළුවන්:

git checkout -b my-branch -t origin/my-branch

මගේ පෞද්ගලිකව මනාපය වන්නේ මෙය පියවර දෙකක විධානයකින් සිදු කිරීමයි:

git checkout -b my-branch
git push -u origin my-branch

1
නියම පිළිතුර! පොදු භාවිත අවස්ථා දෙකම ආමන්ත්‍රණය කරයි. ධාවනය කිරීමෙන් පසු මගේ වෙනස්කම් පහතට ඇද දැමිය git branch -u origin/my-branchහැකිය git pull.
බෙන්ජමින් ඇට්කින්

2
"git checkout -b my-branch -t origin / my-branch" 'සම්භවය / මගේ ශාඛාව' තවම නොපවතී නම් මෙය ක්‍රියා නොකරයි.
ස්පොන්ග්මන්

1
ඔබට එය git checkout -t origin/my-branchනොමැතිව කළ හැකිය -b my-branch, එය my-branchදේශීය ශාඛා නාමය ස්වයංක්‍රීයව අනුමාන කරයි. කෙසේ වෙතත්, pSpongman සඳහන් කළ පරිදි, මෙම විධානය origin/my-branchමුලින් නොපවතී නම් ක්‍රියා නොකරයි.
wisbucky

ඔව්, වැඩ කරයි is විස්බකි, -එය හොඳින් ක්‍රියාත්මක වේ. පුද්ගලිකව, මම එම පිළිතුර ලියා වසර දෙකකට පසුව වුවද, මම තවමත් චෙක්පට්-බී සහ තල්ලු-යූ සමඟ පේළි දෙකකින් බෙදීමට කැමැත්තෙමි. එය දුරස්ථව නොමැති විට එය වඩාත් පැහැදිලිව
පෙනෙන

2
git push -u origin/my-branchමා සමඟ අසමත් වේ fatal: 'origin/my-branch' does not appear to be a git repository. මෙය ක්‍රියාත්මක වේ:git push -u origin my-branch
ස්ටේසන්

52

ඔයාට පාවිච්චි කරන්න පුළුවන්:

git config --global branch.autosetupmerge සෑම විටම

එය ඔබ නව ශාඛාවක් නිර්මාණය කරන විට හෝ පරීක්ෂා කරන සෑම අවස්ථාවකම උඩු මහලේ ශාඛාව සම්බන්ධ කරයි.

Https://felipec.wordpress.com/2013/09/01/advanced-git-concepts-the-upstream-tracking-branch/ බලන්න

branch.autosetuprebaseඔබ වඩාත් ප්‍රතිව්‍යුහගත කේන්ද්‍රගත කාර්ය ප්‍රවාහයක් අනුගමනය කරන්නේ නම් මෙයද ක්‍රියාත්මක වේ , නමුත් ඔබ කරන්නේ කුමක්දැයි ඔබ දන්නේ නැත්නම් මෙය භාවිතා නොකරන්න, මන්දයත් එය ඔබේ ඇදීමේ හැසිරීම නැවත ප්‍රතිස්ථාපනය කිරීමට පෙරනිමිය හැකි වන අතර එමඟින් අමුතු ප්‍රති .ල ඇති විය හැකිය.


8
වැඩ කරන්නේ නැහැ, මට තවමත් --set-upstreamපණිවිඩය ලැබෙනවා
ඩෝරියන්

2
Or ඩෝරියන්, ඔබ ශාඛාව නිර්මාණය කිරීමට පෙර මෙය සැකසිය යුතුය. Stackoverflow.com/a/9753268/263998
cdunn2001

8
නමුත් මෙය ලුහුබැඳීමේ ශාඛාව එකම ශාඛාවක් සහිත දුරස්ථයක් ලෙස නොව වර්තමාන ප්‍රාදේශීය ශාඛාවට සකසයි .. එබැවින් ඔබ තල්ලු කරන විට එය නව ශාඛාව නිර්මාණය කිරීමට පෙර ඔබ සිටි ප්‍රාදේශීය ශාඛාවට තල්ලු කිරීමට උත්සාහ කරනු ඇත ..
ආර්නෝල්ඩ් රෝ

1
මෙය පෙරනිමියට වඩා වෙහෙසකර හැසිරීමක් ඇත. ඔබ ශාඛාවකින් බැහැරව වැඩ කරන්නේ නම්, එය ඇත්තෙන්ම අමුතු ලෙස ක්‍රියා කරයි.
බීෆ්ස්ටර්

2
මෙම සැකසුම සමඟ ප්‍රවේශම් වන්න !! එය සැකසීමෙන් පසු, ඔබට මෙම හැසිරීම ලැබේ. 1. වෙත මාරු වන්න master. 2. ධාවනය කරන්න git checkout -b new_branch. 3. එම ශාඛාවට බැඳීමක් එක් කරන්න. 4 git push origin new_branch.. මෙය masterමූලාරම්භයේ ශාඛාවට කැපවන තල්ලු කරයි (නව මූලාරම්භය යනුවෙන් හැඳින්වෙන නව ශාඛාවකට වඩා new_branch).
stwr667

39

මාර්ගය වන විට, වත්මන් ශාඛාව එකම නමක් සහිත දුරස්ථයකට තල්ලු කිරීමේ කෙටිමඟ:

$ git push -u origin HEAD

23

මම පෞද්ගලිකව මෙම අන්වර්ථ නාමය භාවිතා කරමි

~ / .gitconfig ගොනුවේ

[alias]
    pushup = "!git push --set-upstream origin $(git symbolic-ref --short HEAD)"

සහ ~ / .bashrc හෝ ~ / .zshrc ගොනුවේ

alias gpo="git pushup"
alias gpof="gpo -f"
alias gf="git fetch"
alias gp="git pull"

1
මට අවශ්‍ය වූයේ .gitconfig, එවිට මට git pushupසෑම විටම වත්මන් ශාඛාව මූලාරම්භයට තල්ලු කරන විධානය භාවිතා කළ හැකිය . මට සෑම විටම git pushupinstead වෙනුවට භාවිතා කළ git pushහැකිය
thespacecamel

20

පහත ක්‍රියා නොකරන්නේ නම්:

git config --global push.default current

ඔබේ ව්‍යාපෘතියේ දේශීය වින්‍යාසය ද තිබිය හැකි බැවින් ඔබේ ව්‍යාපෘතියේ දේශීය වින්‍යාසය ද යාවත්කාලීන කළ යුතුය:

git config --local push.default current

2
තවත් පැහැදිලි කිරීම් විශිෂ්ට වනු ඇත. පළමු පේළිය කරන්නේ කුමක්ද?
පැපිලන්

4
මෙම පිළිතුර නීත්‍යානුකූල යැයි හැඟෙන පිළිතුරයි. අන්වර්ථ නාම යෝජනා කරන සියල්ලන්ම ගොළු වැඩකි. දිගු විධාන අනුපිළිවෙල කටපාඩම් කිරීම යුක්ති සහගත කරන අනෙක් ඒවා පදික වේ.
මාර්ක්හූ

10

කුමන දුරස්ථ ශාඛාවක් අදින්නදැයි ඔබට පැහැදිලිව පැවසිය හැකිය (එය දෝෂ පණිවිඩයේ සඳහන් පරිදි):

git pull <remote-name> <remote-branch>

කෙසේ වෙතත්, මේ ගැන සැලකිලිමත් වන්න: ඔබ වෙනත් ශාඛාවක සිටින අතර පැහැදිලි අදහසක් කරන්නේ නම්, ඔබ අදින refspec ඔබ සිටින ශාඛාවට ඒකාබද්ධ වේ!


10

එය වටින දෙය සඳහා, ඔබ දුරස්ථව (උදා: සම්භවය / කිසියම් ශාඛාවක්) දැනටමත් පවතින ශාඛාවක් සොයා ගැනීමට උත්සාහ කළත් එය තවමත් දේශීයව පරීක්ෂා කර නොමැති නම්, ඔබට කළ හැකිය:

$ git checkout --track origin/somebranch

සටහන: '-t' යනු '--track' විකල්පයේ කෙටි කළ අනුවාදයයි.

මෙය පිතිහරඹයේ සිටම එකම ඇසුරක් සකසයි.


5
ඔබට ඇත්ත වශයෙන්ම ශාඛාවට පිවිසිය හැකිය. ඒ git checkout somebranchහා සමානයි.
සමිත්

2
Am සමිත් එය git fetchක්‍රියාත්මක වන්නේ කලින් ඇමතුමෙන් පසුව පමණක් නොවේද?
වෝල්ටර් රෝමන්

1
වහාම නොවේ, නමුත් ඔව්, ඔබේ ප්‍රාදේශීය ගබඩාවේ එම ශාඛාව ගැන සඳහනක් තිබිය යුතුය, එය ඔබ අමතන සෑම අවස්ථාවකම git fetchහෝ git pullවේ. මම එය කිසි විටෙකත් ගැටලුවක් ලෙස සොයාගෙන නැත.
සමිත්

10
git branch --set-upstream-to=origin/master<branch_name>

9

සෑම විටම Git වෙතින් යෝජනාව පිටපත් කිරීම / ඇලවීම වෙනුවට මම මෙම Git අන්වර්ථය භාවිතා කරමි: https://gist.github.com/ekilah/88a880c84a50b73bd306

මූලාශ්‍රය පහත පිටපත් කර ඇත (මෙය ඔබගේ ~/.gitconfigගොනුවට එක් කරන්න ):

[alias]
  pushup = "!gitbranchname() { git symbolic-ref --short HEAD; }; gitpushupstream() { git push --set-upstream origin `gitbranchname`; }; gitpushupstream"

7

ඕනෑවට වඩා වාචික වාක්‍ය ඛණ්ඩයකින් තොරව මෙය හැසිරවිය හැකි හොඳ අන්වර්ථයක් ඔබට සැකසිය හැකිය.

මට පහත අන්වර්ථය ඇත ~/.gitconfig:

po = "!git push -u origin \"$(git rev-parse --abbrev-ref HEAD)\""

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

git po

ඇයි po? push origin? මෙය කිහිප වතාවක් ධාවනය කළහොත් කුමක් සිදුවේද?
ආර්නෝල්ඩ් රෝ

ඔව්, තල්ලු සම්භවය මෙන්. එය කිහිප වතාවක් ක්‍රියාත්මක වුවහොත් කිසිවක් සිදු නොවේ. මා සතුව git push -fඅන්වර්ථයක් ද ඇත git pf, එබැවින් සම්භවය දැනටමත් තල්ලු කළ පසු මම එය භාවිතා කරමි.
123

djanowski ගේ අදහස බලන්න , ඔබට කෙලින්ම භාවිතා කළ හැකියHEAD
arhak

3

වැඩ කරන අන්වර්ථයක් සොයන අයට git pull, මම භාවිතා කරන්නේ මෙයයි:

alias up="git branch | awk '/^\\* / { print \$2 }' | xargs -I {} git branch --set-upstream-to=origin/{} {}"

දැන් ඔබට ලැබෙන සෑම විටම:

$ git pull
There is no tracking information for the current branch.
...

දුවන්න:

$ up
Branch my_branch set up to track remote branch my_branch from origin.
$ git pull

ඔයා යන්න හොඳයි


2

විවිධ ශාඛා විවිධ “උඩුමහලේ” ගබඩාවලට තල්ලු කිරීමට / අදින්නට Git සතුව සිසිල් හැකියාව ඇත. එකම ශාඛාව මත - තල්ලු කිරීම සහ ඇද ගැනීම සඳහා ඔබට වෙනම ගබඩාවන් භාවිතා කළ හැකිය. මෙය බෙදා හරින ලද, බහු මට්ටමේ ප්‍රවාහයක් නිර්මාණය කළ හැකිය, මෙය ලිනක්ස් කර්නලය වැනි ව්‍යාපෘති සඳහා ප්‍රයෝජනවත් වන බව මට පෙනේ. Git මුලින් ඉදිකරන ලද්දේ එම ව්‍යාපෘතිය සඳහා භාවිතා කිරීම සඳහා ය.

එහි ප්‍රති consequ ලයක් ලෙස, ඔබේ ශාඛාව ලුහුබැඳිය යුත්තේ කුමන ගබඩාවද යන්න උපකල්පනය නොකරයි.

අනෙක් අතට, බොහෝ අය මේ ආකාරයෙන් git භාවිතා නොකරයි, එබැවින් එය පෙරනිමි විකල්පයක් සඳහා හොඳ අවස්ථාවක් වනු ඇත.

Git සාමාන්‍යයෙන් තරමක් පහත් මට්ටමක පවතින අතර එය කලකිරීමට පත්විය හැකිය. එහෙත් GUIs ඇති අතර ඔබට එය කවචයෙන් භාවිතා කිරීමට අවශ්‍ය නම් උපකාරක පිටපත් ලිවීම පහසු විය යුතුය.



0

මම නැවත සොයාගත්තා legitමෙම ගැටළුව නිසා (OS X පමණි). අතු බෙදීමේදී මම දැන් භාවිතා කරන්නේ මෙම විධානයන් දෙක පමණි:

legit publish [<branch>] නිශ්චිත ශාඛාව දුරස්ථයට ප්‍රකාශයට පත් කරයි. (අන්වර්ථය:pub )

legit unpublish <branch> නිශ්චිත ශාඛාව දුරස්ථයෙන් ඉවත් කරයි. (නොහොත්: unp)

SublimeGit සමඟ එන legitCtrl-ආ දැවෙන තරම් පහසු ලෙස මුළු අතු සාමාන්ය වන පරිදි පෙරනිමි විසින් සහාය.


0

අපි phabricator භාවිතා කරන අතර git භාවිතා නොකරන්න. මට ලිනක්ස් / මැක් මත වැඩ කරන බාෂ් අන්වර්ථය නිර්මාණය කිරීමට සිදු විය

vim ~/.bash_aliases

new_branch() {
    git checkout -b "$1"
    git branch --set-upstream-to=origin/master "$1"
}

සුරකින්න

source ~/.bash_aliases
new_branch test #instead of git checkout -b test
git pull

0

මෙන්න සෑම තල්ලුවක් සඳහාම ධාවනය කිරීමට ආරක්ෂිත වන git push සඳහා වන අන්වර්ථ නාමයක් වන අතර පළමු තල්ලුව සඳහා උඩුමහලේ සිටුවීම සහ ඉන් පසුව සාමාන්‍ය තල්ලු කිරීම අතර ස්වයංක්‍රීයව මාරු වේ.

alias gpu='[[ -z $(git config "branch.$(git symbolic-ref --short HEAD).merge") ]] && git push -u origin $(git symbolic-ref --short HEAD) || 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.