Alm*_*mad 8 git scripting automation
我想以这样的方式签出一个分支,以便随后git push将它以相同的名称正确地推送到原点.
当远程分支已经存在时,这很容易
git checkout -b branch origin/branch
Run Code Online (Sandbox Code Playgroud)
但是,即使origin/branch还没有,我也愿意这样做.
只需创建一个本地分支
git checkout -b branch
Run Code Online (Sandbox Code Playgroud)
远程存储库对您的本地分支一无所知,因此您必须在第一次"手动"推送它
git push origin branch
Run Code Online (Sandbox Code Playgroud)
现在,如果您希望本地存储库让它使用远程存储库跟踪您的本地分支
git branch --set-upstream branch origin/branch
Run Code Online (Sandbox Code Playgroud)
小智 5
没有简单的方法,AFAIK。
这是我目前的尝试。这是一个 bash 函数,它设置一个新的本地分支,以便git push从该分支推送到具有相同名称的新远程分支。
function featurebranch() {
if [ "$@" != "" ]; then
git branch "$@" origin/master
git checkout "$@"
git config branch."$@".remote origin
git config branch."$@".merge refs/heads/"$@"
git config branch."$@".rebase true
fi
}
Run Code Online (Sandbox Code Playgroud)
它必须使用git config,因为使用git push -u或git branch --track或git branch --set-upstream-to命令都涉及实际存在的远程分支。
如果有任何 git 大师检查并指出任何问题,我将不胜感激。塔。;-)
| 归档时间: |
|
| 查看次数: |
1936 次 |
| 最近记录: |