我的git存储库中有以下目录。
home
client
server
我想在我的home
目录中使用存储库中的相应内容覆盖我的更改。它不应该影响其他两个目录。
我尝试使用git pull origin master home
和git checkout origin/master home
。但是没有人做我需要做的事。
答案 0 :(得分:1)
Git的设计不允许您在不同的目录中检查不同的提交(与Subversion不同)。 Git将您的项目视为一个整体。
如果您需要临时获得home/
的一个版本以及项目其余部分的另一个版本,则可以使用
git checkout <commit-id> -- home/
(警告:删除home/
)
但是你做的下一个提交将考虑从你的工作树到整个项目的基础提交的更改,因此会考虑你在home/
中签出的更改,并提交它。你可能不希望这样。
如果您真的需要为不同的目录使用不同的版本,那么您应该考虑将您的存储库拆分为多个submodules。