我已经创建了一个分支,用于在我test-branch推送的本地repo()中进行测试Github.
如果我转到我的Github帐户并选择此帐户,test-branch则会显示以下信息:
This branch is 1 commit ahead and 2 commits behind master
Run Code Online (Sandbox Code Playgroud)
我的问题是:
Github才能看到它)?我知道我可以看到分支之间的差异:
git diff master..test-branch
Run Code Online (Sandbox Code Playgroud)
或使用Meld(我更喜欢):
git difftool master..test-branch
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有办法分别看到提前和落后的提交.IE:有没有办法表明1提前自己提交然后那2个提交自己呢?
use*_*095 259
这是我发现比较两个分支的技巧,并显示每个分支在另一个分支之前的提交数量(对于您的问题1的更一般的答案):
对于当地分行:
git rev-list --left-right --count master...test-branch
对于远程分支:
git rev-list --left-right --count origin/master...origin/test-branch
这给出了如下输出:
1 7
这个输出意味着:"相比之下master,test-branch提前7次提交,1次提交."
您还可以将本地分支与远程分支进行比较,例如origin/master...master,查找本地master分支在其远程对应的前面/后面提交的提交数量.
Sto*_*ica 35
首先要看看你在本地有多少修改,你应该做一个git fetch确保你拥有遥控器的最新信息.
默认输出git status告诉您前面或后面有多少个修订,但通常我发现这个过于冗长:
$ git status
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 2 and 1 different commit each, respectively.
#
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)
我更喜欢git status -sb:
$ git status -sb
## master...origin/master [ahead 2, behind 1]
Run Code Online (Sandbox Code Playgroud)
实际上我简单地将其别名git s,这是我用来检查状态的主要命令.
要查看"提前修订"中的差异master,我可以从origin/master以下方面排除"后面的修订" :
git diff master..origin/master^
Run Code Online (Sandbox Code Playgroud)
要查看"后面修订版"中的差异origin/master,我可以从master以下方面排除"提前修订" :
git diff origin/master..master^^
Run Code Online (Sandbox Code Playgroud)
如果前面或后面有5个修订版,那么写起来可能更容易:
git diff master..origin/master~5
git diff origin/master..master~5
Run Code Online (Sandbox Code Playgroud)
UPDATE
要查看前/后修订,必须将分支配置为跟踪另一个分支.对我来说,这是克隆远程存储库时的默认行为,以及我推送分支后的默认行为git push -u remotename branchname.我的版本是1.8.4.3,但只要我记得它就像这样工作.
从1.8版开始,您可以像这样设置跟踪分支:
git branch --track test-branch
Run Code Online (Sandbox Code Playgroud)
从1.7版开始,语法不同:
git branch --set-upstream test-branch
Run Code Online (Sandbox Code Playgroud)
使用Git 2.5+,您现在可以使用另一个选项来查看配置为推送到分支的所有分支的前/后.
git for-each-ref --format="%(push:track)" refs/heads
Run Code Online (Sandbox Code Playgroud)
在" 查看未发布的Git提交 "中查看更多内容
小智 6
要获取当前功能分支的 master 之前的提交数量,您可以使用以下命令:
git rev-list --left-right --count master...$(git branch --show-current)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
85441 次 |
| 最近记录: |