我即将执行一个fork的更新,我为github项目做了一段时间。当我试图查看远程存储库时,我看到了:
me@Bedrock:~/Downloads/git_proj/git_proj$ git remote show origin
* remote origin
Fetch URL: https://github.com/jsmith/git_proj.git
Push URL: https://github.com/jsmith/git_proj.git
HEAD branch: master
Remote branches:
api-consistency new (next fetch will store in remotes/origin)
gp-1 tracked
gp-2 new (next fetch will store in remotes/origin)
master tracked
refs/remotes/origin/new_conv_ops stale (use 'git remote prune' to remove)
revert-6817-getfullargspec new (next fetch will store in remotes/origin)
tf-gp new (next fetch will store in remotes/origin)
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (local out of date)
我不明白为什么多个分支显示为被跟踪。我不应该只跟踪主分支吗?如果是这样,为什么gp-1分支显示为被跟踪?它只是意味着我可以跟踪这个分支,如果我想的话?
我是否相信我的本地主分支将从远程主分支推送/拉出,但如果我想,我可以从任意远程分支推送/拉出其他本地分支?
答案 0 :(得分:1)
使用遥控器的Git documentation可以很好地解释您的输出。要在此处重复输出:
HEAD branch: master
Remote branches:
api-consistency new (next fetch will store in remotes/origin)
gp-1 tracked
gp-2 new (next fetch will store in remotes/origin)
master tracked
refs/remotes/origin/new_conv_ops stale (use 'git remote prune' to remove)
revert-6817-getfullargspec new (next fetch will store in remotes/origin)
tf-gp new (next fetch will store in remotes/origin)
标记为tracked
的分支,例如gp-1
,是遥控器上存在的那些已经在本地拉出的分支。另一方面,标记为new
的分支表示它们存在于遥控器上但您尚未在本地存在。
此外,HEAD分支标记为master
表示master
是某些操作的默认分支,例如git pull
。如果您在本地发出git pull
但未明确指定要合并的分支,则会使用master
。
答案 1 :(得分:0)
您在分行master
。所有推送和拉动都将完成master
。
删除您不想要的分支:
git branch -d <branch name>
要远程删除它们,请使用:
git push origin --delete <branch name>
要更改任何分支推送/拉出的位置,请使用:
git branch --set-upstream <your_local_branch> <your_new_remote/branch_name>