git add后取消,git reset --hard命令小結

 2023-11-30 阅读 20 评论 0

摘要:參考 git 刪除 錯誤 提交的 commit 方法:? ? ? 根據–soft –mixed –hard,會對working tree和index和HEAD進行重置: ????git reset --mixed:此為默認方式,不帶任何參數的git reset,即時這種方式,它回退到某個版本,只保留源碼ÿ
參考

git 刪除 錯誤 提交的 commit

方法:?
? ? 根據–soft –mixed –hard,會對working tree和index和HEAD進行重置:
????git reset --mixed:此為默認方式,不帶任何參數的git reset,即時這種方式,它回退到某個版本,只保留源碼,回退commit和index信息
????git reset --soft:回退到某個版本,只回退了commit的信息,不會恢復到index file一級。如果還要提交,直接commit即可
????git reset? --hard:徹底回退到某個版本,本地的源碼也會變為上一個版本的內容,此命令 慎用!

? ? # git log //查看提交日志

? ? ? ??commit 3628164fb26d48395383f8f31179f24e0882e1e0
? ? ? ?Author: Michael Liao <askxuefeng@gmail.com>
? ? ? ?Date: ? Tue Aug 20 15:11:49 2013 +0800
? ? ? ? ?提交test.txt文件

? ? 注意:如果覺得眼花繚亂,可以單獨顯示一行commit ID

? ? ?# git log --pretty=oneline //查看提交一行日志

? ? ? ??3628164fb26d48395383f8f31179f24e0882e1e0??提交test.txt文件

? ? # git reset --hard +3628164fb26d48395383f8f31179f24e0882e1e0 //本地代碼回退到某個版本

? ? ? ?或執行:git reset --hard +?3628164?//本地代碼回退到某個版本

? ?#?git reflog //用來記錄你的每一次命令
? ? ? ea34578 HEAD@{0}: reset: moving to HEAD^
? ? ? 3628164 HEAD@{1}: commit: append GPL
? ? ? ea34578 HEAD@{2}: commit: add distributed
? ? ? cb926e7 HEAD@{3}: commit (initial): wrote a readme file

回退小結
現在總結一下:
1.HEAD指向的版本就是當前版本,因此,Git允許我們在版本的歷史之間穿梭,使用命令 #?git reset --hard commit_id。(commt_id為 7 位)
2.穿梭前,用git log可以查看提交歷史,以便確定要回退到過去哪個版本,使用命令 #?git reset --hard commit_id?
3.要重返未來,用git reflog查看命令歷史,以便確定要回到未來哪個版本,使用命令 #?git reset --hard commit_id

合并分支小結

Git鼓勵大量使用分支:
查看分支:git branch
創建分支:git branch <name>
切換分支:git checkout <name>
創建+切換分支:git checkout -b <name>
合并某分支到當前分支:git merge <name> //git merage dev;把dev合并到master分支,這種方式:刪除分支后,會丟失分支信息(缺點)

或者:git merge --no-ff -m "提交合并到master分支" dev//把dev分支合并到master分支; 這種方式:每次合并都有合并的分支信息,從歷史分支中卡可以看到分支信息(優點)
刪除分支:git branch -d <name>



版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/185737.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息