git - 本地 git 仓库强制从远程 git 仓库更新。 (胖客户端部署)

标签 git merge copy repository clone

更新:我认为这与 Windows git 客户端 msysgit 的问题有关。抱歉给大家添麻烦了。 http://code.google.com/p/msysgit/issues/detail?id=379&colspec=ID%20Type%20Status%20Priority%20Component%20Owner%20Summary

我正在寻找一种方法来使多个客户端框与远程 git 存储库保持同步。强制从远程存储库更新并放弃客户端盒子上可能已更改的任何内容。

我遇到的问题是客户端框会修改一些文件(安装日志等),当我需要从远程存储库更新它们时,给我带来 merge 噩梦。我已经尝试了几个命令来尝试重置它们的本地更改(应该放弃本地更改),但似乎没有一个像宣传的那样工作(git reset --hard)。

我不想克隆然后删除这些盒子上的 .git 目录,因为我希望它们只更新更改,而不是每次都 pull 下整个存储库。

有什么想法吗?

最佳答案

我假设您有充分的理由为此使用 Git 而不是 rsync。

这就是我(在客户端)的做法:

git fetch origin
git reset --hard origin/master
git clean -dfx

请注意,您需要重置为 origin/master 而不是 HEAD,因为本地 HEAD 不包括 origin 的最新提交(还没有)。

关于git - 本地 git 仓库强制从远程 git 仓库更新。 (胖客户端部署),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2290836/

相关文章:

git - 在 gitflow 模型中创建修补程序分支或功能分支

git - 使旧的 git 分支不可见而不使它们无法访问?

git - 在 git merge 之后在 git log graph 中保留分支的提交历史

git - 禁用 master (git) 中的功能

git - 如何从另一个具有不同历史记录的存储库重新提交提交?

与其他用户一起更新 git 子模块

windows - 在 Windows 存储库中使用 Linux 行结尾的 .git/config 语法是什么?

bash - 这是在 bash 中复制符号链接(symbolic link)目录的正确方法吗?

java - 将 java 对象/类从一个类加载器复制到另一个类加载器

collections - 在 TFS 2010 中,是否可以将查询从一个项目复制到另一个集合中的项目?