我在本地有一个克隆的git存储库,想要检查最新的提交(远程 origin ),无论我目前检查的是什么分支,最新提交的分支是什么或者如果我在本地检查了最新提交的分支。
有没有办法使用git 2.4.9(在bash脚本中)进入独立于本地状态的最新(最后)源提交?
答案 0 :(得分:3)
git log --branches
的第一行将显示来自任何分支的最新提交。同样,git log --remotes
的顶行将显示来自任何远程分支的最新提交。
首先,请确保您与来源保持同步:
git fetch origin
我习惯一次更新所有遥控器,但这不是必需的:
git remote update
如果要查看来自任何分支的最新提交,您可以执行以下操作:
git checkout `git log --remotes -1 --format=%H`
答案 1 :(得分:2)
git fetch origin
git branch --remotes |\
grep origin/ |\
grep -v origin/HEAD |\
xargs -n 1 git log -1 --format='format:%ct %h%n' |\
sort -n |\
tail -1 |\
cut -d' ' -f2
一次一件:
git fetch
只是确保您了解最新动态。 git branch --remote
列出所有远程分支
origin/HEAD -> origin/master
origin/do_a_thing
origin/master
grep origin/
仅选择origin
上的分支(如果您有多个遥控器)
grep -v origin/HEAD
删除了将会阻碍的origin/HEAD -> origin/master
行xargs -n 1
一次将分支名称传递给... -1
只接受分支上的最后一次提交 --format='format:%ct %h%n'
打印UNIX提交时间(整数),SHA和换行符
1446771676 5cac5ed
1443639221 001a41a
1426461600 ac41d80
sort -n
提交时间为数字
tail -1
最后一行(最晚时间)cut -d' ' -f2
拆分空间并拉出SHA