關(guān)于Git的幾個(gè)使用技巧
1. Git常用命令圖
- Workspace:工作區(qū)
- Index / Stage:暫存區(qū)
- Repository:本地倉(cāng)庫(kù)
- Remote:遠(yuǎn)程倉(cāng)庫(kù)
2. 撤銷剛剛git add(暫存的文件)
git reset head <暫存的文件>
![]()
3. 撤銷暫存區(qū)中指定的commit之前的提交
git reset --hard <commit的hash值>
注:--hard 丟棄working directory中內(nèi)容的修改
--soft 保留working directory中內(nèi)容的修改
4. 修改commit***一次的注釋信息
使用命令:# git commit --amend 如:
(1)git log命令查看到***一次的commit注釋信息為:“注釋信息”
(2)# git commit --amend
以上命令執(zhí)行后會(huì)調(diào)到文本編輯窗口
將這里的注釋信息改成你想要的注釋信息,如“修改注釋信息”,保存
(3)重新push到服務(wù)端即可
git push origin master -f
此時(shí)服務(wù)端的注釋信息已經(jīng)是剛修改的注釋信息了
注:修改***一次commit的注釋信息還有一種更簡(jiǎn)單的方式,如下:
# git commit --amend -m "提交注釋信息"
5. 修改commit的歷史注釋信息
(1)使用 git rebase -i head~2(~2指列出當(dāng)前版本的前2條提交記錄)
git rebase -i head~2
此時(shí)會(huì)跳轉(zhuǎn)到文本編輯窗口
共列出了兩條歷史提交信息,要修改哪條就將哪條的 pick 字段修改為 edit ,如將***條改成edit,然后保存退出,這是可通過(guò)git log命令可以發(fā)現(xiàn)現(xiàn)在git的***一次提交已經(jīng)變成你選中的那條了。
(2)然后就可以通過(guò) git commit --amend命令來(lái)進(jìn)行修改了
(3)修改完后使用 git rebase --continue 命令返回
(4)git push origin master -f
6. 版本回退
(1)使用git log查看歷史提交信息,如
(2)如想回退到 ”新增index.html頁(yè)面“這個(gè)提交版本
git reset --hard bebdaf328533d2517875a3db7d1aabc2834f2d59
注:--hard 參數(shù)在回退版本后會(huì)拋棄當(dāng)前工作區(qū)的修改
--soft 參數(shù)在回退版本后可以保留當(dāng)前工作區(qū)的修改
(3)push到遠(yuǎn)程服務(wù)端
git push origin master -f
注:-f 為強(qiáng)制推送,不然服務(wù)器會(huì)拒絕推送
7. 合并多個(gè)commit最簡(jiǎn)單的方法
比如要將已提交的3個(gè)commit合并為一個(gè)commit
(1)撤銷***的3個(gè)commit
git reset head~3
(2)新建一個(gè)commit提交
git commit -am "提交注釋信息"
注:參數(shù) -am 與 -m 不同的是 -m 提交需要先 git add <文件> 加入stage,然后才能commit提交,而 -am 相當(dāng)于 add 與 commit的組合,可以直接commit,但是前提是被改動(dòng)的文件已被 tracked