在检查Git遥控器上当前的SHA是什么之前,我是否需要“获取”?

时间:2013-12-31 02:57:51

标签: git fetch sha git-remote

我(想)我明白我可以使用git rev-parse来确定我任何本地Git分支上当前提交的SHA,包括那些以remotes/...开头的分支;但我认为,除非我先git fetch,否则这不会反映与后者相对应的远程存储库中的状态。那是对的吗?是

git fetch origin master
git rev-parse remotes/origin/master

用于确定远程分支上当前提交的SHA的正确习惯用法?执行导致此过度的fetch会产生副作用吗?还有另一种方式吗?

2 个答案:

答案 0 :(得分:1)

你是对的。与SVN之类的工具不同,Git只在本地存储和使用信息。

如果您想查看可能已在远程仓库上执行的最新活动,您可以:

  1. git fetch
  2. 如果所有者已启用,则远程浏览仓库。
  3. 定期运行git fetch可能不是问题,具体取决于您的网络等。但是,即使使用SVN,大多数人也不关心其他提交,直到他们自己准备提交,因此每60秒更新一次repo可能有点矫枉过正。

    Git用户经常提交并推送他们的功能分支,因此在整合时间之前也不关心其他分支,这可能是稍后的,并且在不同的回购中完成。

    您需要做出对您的工作流程和设置有意义的选择。但是,如果您从集中模型(例如SVN)迁移,请不要害怕放弃并尝试更多“Git'sh”一段时间: - )

    关于远程浏览。 Git带有一个名为instaweb git instaweb --help的子命令,可以通过浏览器提供回购信息

答案 1 :(得分:1)

git ls-remote origin master也会给你origin/master的sha而不实际执行获取(它不会下载任何对象或更新refs/remotes中的任何内容)但它不是任何普通的一部分git工作流,可能是因为如果没有它引用的提交,sha就不是很有用。

相关问题