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