'git pull' 的危险,以防本地存储库的唯一更改来自远程存储库

马丁

我有一个用例,脚本需要获取远程存储库才能获取此远程存储库中特定文件的最新版本。拉取远程存储库的通常建议是git checkout master移动到master分支,git remote update -p从远程存储库中获取并删除远程中不再定义的分支,最后git merge --ff-only @{u}合并更改是可能的。但是,如果我的脚本从不在本地创建其他分支或从不添加/提交任何内容,我是否需要所有这些。我是否正确,如果本地存储库的唯一更改来自远程存储库,那么就git pull足够了吗?

恩斯克

您不需要“合并”操作(“拉”暗示)。要检查文件是否已更新,您可以使用

git fetch origin refs/heads/master
git diff --quiet FETCH_HEAD..last-check -- the-file || echo "changed"
git branch -f last-check FETCH_HEAD

更新问题的答案

the-filegit 意义上的“最后一次修订”(已更改的地方)是

git log --format=format:%H -1 FETCH_HEAD -- the-file

要获取文件的内容,您可以使用

git show FETCH_HEAD:the-file

要替换工作目录中的文件(且仅此一个文件),请使用

git checkout FETCH_HEAD -- the-file

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

git pull 自动从远程存储库中更改

来自分类Dev

git pull多个存储库

来自分类Dev

使用远程存储库时git pull错误

来自分类Dev

git pull origin master问题和本地存储库

来自分类Dev

Git Pull Origin Master问题和本地存储库

来自分类Dev

检查git pull更改

来自分类Dev

git pull --rebase通过保留本地更改来解决冲突

来自分类Dev

错误$ git pull --rebase权限被拒绝(公钥)。严重的:无法从远程存储库读取

来自分类Dev

Git Pull挂在SMB共享存储库上

来自分类Dev

Git Pull挂在SMB共享存储库上

来自分类Dev

从远程主分支的git pull

来自分类Dev

在git pull上要求提交本地更改

来自分类Dev

Git是否将我的本地存储库视为唯一的

来自分类Dev

Git命令-本地存储库与远程存储库

来自分类Dev

Git不会将本地存储库与远程存储库同步

来自分类Dev

Git如何用远程存储库覆盖本地存储库?

来自分类Dev

为什么“ git pull”从存储库中获取所有分支,而“ git pull origin master”却不这样做?

来自分类Dev

如何检查本地 GIT 存储库和远程存储库之间的更改?

来自分类Dev

GIT 删除远程源存储库,并更改默认存储库

来自分类Dev

如何使用git更改远程存储库

来自分类Dev

更改Git远程存储库密码

来自分类Dev

存储库名称末尾的“ .git”在本地git存储库,远程存储库位置中重要吗?

来自分类Dev

Git Pull无法用于远程上传

来自分类Dev

Git:在运行git pull时从存储库中删除文件/文件夹,但不从git克隆中删除

来自分类Dev

Git Pull无法更新本地参考

来自分类Dev

git pull之后,本地分支先于master

来自分类Dev

Git Pull删除/删除本地文件

来自分类Dev

Git 忽略 PULL 上的本地文件

来自分类Dev

git pull错误“没有足够权限将对象添加到存储库数据库.git / objects”

Related 相关文章

  1. 1

    git pull 自动从远程存储库中更改

  2. 2

    git pull多个存储库

  3. 3

    使用远程存储库时git pull错误

  4. 4

    git pull origin master问题和本地存储库

  5. 5

    Git Pull Origin Master问题和本地存储库

  6. 6

    检查git pull更改

  7. 7

    git pull --rebase通过保留本地更改来解决冲突

  8. 8

    错误$ git pull --rebase权限被拒绝(公钥)。严重的:无法从远程存储库读取

  9. 9

    Git Pull挂在SMB共享存储库上

  10. 10

    Git Pull挂在SMB共享存储库上

  11. 11

    从远程主分支的git pull

  12. 12

    在git pull上要求提交本地更改

  13. 13

    Git是否将我的本地存储库视为唯一的

  14. 14

    Git命令-本地存储库与远程存储库

  15. 15

    Git不会将本地存储库与远程存储库同步

  16. 16

    Git如何用远程存储库覆盖本地存储库?

  17. 17

    为什么“ git pull”从存储库中获取所有分支,而“ git pull origin master”却不这样做?

  18. 18

    如何检查本地 GIT 存储库和远程存储库之间的更改?

  19. 19

    GIT 删除远程源存储库,并更改默认存储库

  20. 20

    如何使用git更改远程存储库

  21. 21

    更改Git远程存储库密码

  22. 22

    存储库名称末尾的“ .git”在本地git存储库,远程存储库位置中重要吗?

  23. 23

    Git Pull无法用于远程上传

  24. 24

    Git:在运行git pull时从存储库中删除文件/文件夹,但不从git克隆中删除

  25. 25

    Git Pull无法更新本地参考

  26. 26

    git pull之后,本地分支先于master

  27. 27

    Git Pull删除/删除本地文件

  28. 28

    Git 忽略 PULL 上的本地文件

  29. 29

    git pull错误“没有足够权限将对象添加到存储库数据库.git / objects”

热门标签

归档