git diff
给出git diff --summary
的不同结果,而git pull
给出了差异的不同结果。下面的每个命令都告诉我一些不同的东西被修改。
git.diff
$ git diff | grep -i '\-\-\- a/'
--- a/apps/Makefile
--- a/apps/s_client.c
--- a/apps/s_server.c
--- a/config
--- a/crypto/Makefile
--- a/crypto/aes/Makefile
--- a/crypto/asn1/Makefile
--- a/crypto/bf/Makefile
--- a/crypto/bio/Makefile
<61 total>
...
git diff --summary
openssl-git$ git diff --summary
delete mode 100644 test/fips_algvs.c
delete mode 100644 test/igetest.c
git pull
openssl-git$ git pull
Updating ba16824..24e20db
error: Your local changes to the following files would be overwritten by merge:
apps/s_server.c
Please, commit your changes or stash them before you can merge.
Aborting
我跟着https://stackoverflow.com/questions/1580596/how-do-i-make-git-ignore-mode-changes-chmod清除了大部分差异,但在更新回购时仍然存在一些问题。
更新此存储库我需要做什么?
答案 0 :(得分:1)
要让git pull工作,看起来app / s_server.c文件在本地更改或未跟踪,但未提交,并且提交了相同的文件。您可以暂时移动该文件或提交它以使拉动成功,然后协调差异
答案 1 :(得分:0)
查看已修改跟踪文件的列表,而不是
git diff | grep -i '\-\-\- a/'
您可以使用git diff --stat
。
git diff --summary
仅显示文件权限的重命名,创建和更改。
从远程存储库中提取更改时,您的工作副本必须是干净的。在您展示的示例中,git表示您的本地文件apps/s_server.c
已被修改,而pull也希望对其进行修改。我可以告诉你一个关于在你调用git-pull
时暂时保存本地更改的不同方法的日志(特别是使用git-stash
),但你好像是git的初学者,我不想混淆你更多关于新git命令的日志。您提交更改后,git-pull
会合并本地和远程更改,或者在致电apps/s_server.c
之前确保git pull
未在本地修改。