[英]Can I make git reject an all-commit if I have before manually added files?
[英]Can I revert to a previous version of just one file even if I git added all files before a commit?
即使我在提交之前 git 添加了所有文件,我也可以恢復到只有一個文件的先前版本嗎?
所以,這就是我所做的: git add .
然后git commit -m "my changes"
然后git push
所以出現了很多其他的 git add 。 並在"my changes"
和當前負責人之間提交。
即使我 git 添加了多個文件( git add .
),是否可以僅對一個文件恢復到"my changes"
狀態?
您問題中的全部擔憂是基於對 Git 是什么的完全誤解。
每個提交都包含所有文件。 它們都是整個項目的快照。 git add
只是告訴 Git 在下一次提交時要特別注意工作樹中的哪些文件,但是無論您是否通過在特定提交之前說git add
明確包含一個文件,如果該文件在之前的提交中,則它在此后的每次提交。
所以你說git add .
與任何事情都完全無關。
問題很簡單,您是否可以恢復文件的狀態。 答案是肯定的,當然; 每個提交都包含所有文件,因此只需找到您喜歡該特定文件狀態的提交並提取它:
git restore --source=<thatCommitSHA> -- thatFile
現在git add
該文件(以及您喜歡的任何其他內容)並提交。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.