Git 单个文件混淆时的硬重置
Git Hard Reset on a single file confusion
我是 git 的新手,目前正在尝试各种组合来理解 git。
我克隆了我的存储库,其中有两个文件。现在我对一个文件进行了更改(假设 "first.txt")并将其提交到暂存区。
在这一步之后,我想将 "first.txt" 重置为其远程副本,这样我的分支就不会出现与 "first.txt" 相关的 git 提交历史记录。
现在如果我使用 -
git checkout origin/master first.txt
这只会用远程文件替换我的文件,但 git 该文件的提交历史未被替换。
如果我使用 -
git reset --hard <sha1 commit id>
然后它将分支恢复到那个特定的提交,之后在那里所做的所有提交都将丢失。
现在我想了解的是,是否有任何方法可以硬重置文件,以便将其全部内容和提交历史恢复到远程的内容和历史。
感谢您抽出时间阅读我的问题!
如果投反对票,请告诉我问题中还有哪些可以改进的地方。
谢谢
提交代表整个存储库的更改。如果你想将单个文件恢复到它的某个其他版本,检查并提交是最好的选择。否则你必须像这样将整个仓库恢复到它的远程:
git reset --hard origin/master
git pull origin master
我是 git 的新手,目前正在尝试各种组合来理解 git。
我克隆了我的存储库,其中有两个文件。现在我对一个文件进行了更改(假设 "first.txt")并将其提交到暂存区。
在这一步之后,我想将 "first.txt" 重置为其远程副本,这样我的分支就不会出现与 "first.txt" 相关的 git 提交历史记录。 现在如果我使用 -
git checkout origin/master first.txt
这只会用远程文件替换我的文件,但 git 该文件的提交历史未被替换。
如果我使用 -
git reset --hard <sha1 commit id>
然后它将分支恢复到那个特定的提交,之后在那里所做的所有提交都将丢失。
现在我想了解的是,是否有任何方法可以硬重置文件,以便将其全部内容和提交历史恢复到远程的内容和历史。
感谢您抽出时间阅读我的问题!
如果投反对票,请告诉我问题中还有哪些可以改进的地方。
谢谢
提交代表整个存储库的更改。如果你想将单个文件恢复到它的某个其他版本,检查并提交是最好的选择。否则你必须像这样将整个仓库恢复到它的远程:
git reset --hard origin/master
git pull origin master