方法:?
? ? 根據–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>
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态