参见: 如何查看哪个Git分支正在跟踪哪个远程/上游分支?
如何知道本地分支正在跟踪哪个远程分支?
我是否需要解析git配置输出,或者是否有一个命令可以为我做这件事?
参见: 如何查看哪个Git分支正在跟踪哪个远程/上游分支?
如何知道本地分支正在跟踪哪个远程分支?
我是否需要解析git配置输出,或者是否有一个命令可以为我做这件事?
当前回答
如果你想找到任何分支的上游(而不仅仅是你所在的分支),这里是对@cdunn2001的答案的轻微修改:
git revv -parse——abbrev-ref——symbol -full-name
这将为名为YOUR_LOCAL_BRANCH_NAME的本地分支提供远程分支名称。
其他回答
改进这个答案,我想出了这些.gitconfig别名:
branch-name = "symbolic-ref --short HEAD"
branch-remote-fetch = !"branch=$(git branch-name) && git config branch.\"$branch\".remote || echo origin #"
branch-remote-push = !"branch=$(git branch-name) && git config branch.\"$branch\".pushRemote || git config remote.pushDefault || git branch-remote-fetch #"
branch-url-fetch = !"remote=$(git branch-remote-fetch) && git remote get-url \"$remote\" #" # cognizant of insteadOf
branch-url-push = !"remote=$(git branch-remote-push ) && git remote get-url --push \"$remote\" #" # cognizant of pushInsteadOf
列出本地和远程分支:
$ git branch -ra
输出:
feature/feature1
feature/feature2
hotfix/hotfix1
* master
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/master
另一个方法(感谢osse),如果你只是想知道它是否存在:
if git rev-parse @{u} > /dev/null 2>&1
then
printf "has an upstream\n"
else
printf "has no upstream\n"
fi
下面的命令将远程原点电流叉指的是
Git remote -v
添加远程路径时,
Git远程添加原始路径_name
另一种简单的方法是使用
Cat .git/config在一个git回购
这将列出本地分支的详细信息