我想知道我的本地仓库是否是最新的(如果没有,理想情况下,我想查看更改)。
我怎么能检查这个而不做git fetch还是git pull?
我想知道我的本地仓库是否是最新的(如果没有,理想情况下,我想查看更改)。
我怎么能检查这个而不做git fetch还是git pull?
Answers:
尝试git fetch --dry-run
手册(git help fetch)说:
--dry-run
Show what would be done, without making any changes.
git fetch --dry-run什么也没出现?
--all?
git pull大致等于git fetch && git merge。如果您在任何时候都运行了不带的抓取操作--dry-run,那么您已经在本地抓取了东西。
git remote show origin
结果:
HEAD branch: master
Remote branch:
master tracked
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) <-------
首先使用git remote update,以使您的远程引用保持最新状态。然后,您可以做几件事之一,例如:
git status -uno会告诉您所跟踪的分支是在前面,后面还是在分支。如果什么也没说,则本地和远程相同。样本结果:在DEV分支上
您的分支落后“ origin / DEV” 7次提交,并且可以快速转发。
(使用“ git pull”更新您的本地分支)
git show-branch *master 将向您显示名称以'master'结尾的所有分支中的提交(例如master和origin / master)。如果-v与git remote update(git remote -v update)一起使用,则可以查看更新了哪些分支,因此您实际上不需要任何其他命令。
git remote update ; git status -uno解决了。git fetch --dry-run即使本地位于远程后面,也不会输出任何信息。
git remote -v update是我的答案。
您可以git status -uno用来检查本地分支机构是否与原始分支机构保持最新。
git remote update ; git status -uno做到了!在git fetch --dry-run我预期它(并没有给出输出git pull会拉的东西)。
另一种选择是git show-branch remote/branch使用它作为比较来查看远程分支的状态,
您可以看到它git show-branch *branch在所有远程目录以及存储库中都可以看到该分支!查看此答案以了解更多https://stackoverflow.com/a/3278427/2711378
您需要发出两个命令:
您必须先运行,git fetch然后才能将本地存储库与远程服务器上的文件进行比较。
此命令仅更新您的远程跟踪分支,并且在您调用git merge或之前不会影响您的工作树git pull。
要查看本地分支和远程跟踪分支之间的区别,可以按以下说明使用git diff或git cherry。
不使用git fetch或则不可能git pull。您如何知道存储库是否为“最新”,而不必去远程存储库查看“最新”的含义?
git pullOP明确禁止在问题中投票和接受的答案最高。
git status -uno这行得通,还可以git show-branch *master用来查看所有主分支的状态!你还在说那是不可能的吗?只要您可以访问遥控器,就可以看到任何分支的状态!
git status仅告诉您本地裁判的状态,而不告诉您本地裁判是否与远程裁判保持最新。再次:从逻辑上讲,如果不获取远程仓库的状态就无法知道远程仓库的状态。期。这只是时空的基本规律。