Git常用命令

Git是工作中使用最多的一個工具,平時的代碼也是用git來管理。分享一下平時使用最多的Git命令。

先上一張Git結構圖

這裏寫圖片描述

命令:

1、初始化git
git init //創建
git clone path //clone代碼
git config –global user.email “[email protected]” //配置email
git config –global user.name “name” 配置用戶名

2、常用操作
git add <file> //從workspace添加到暫存區(index)
git add . //添加所有文件到暫存區
git commit -m “message” //將暫存區的文件提交到本地倉庫
git commit –amend //與上次commit合併,可修改最新一條提交的change-id和message
git push origin master //將本地倉庫的修改推送至遠程master分支(需要code review)
git pull //更新本地倉庫(少用,推薦用下條命令)
git fetch && git rebase origin/master //更新遠程倉庫至本地併合併到master分支
git status //查看修改的文件狀態
git diff <file> //查看文件的修改內容
git show commit-id //顯示某次提交的內容
git show branch-name //查看某個分支的最近提交的內容

3、撤銷
git reset HEAD <file> //將文件從暫存區恢復到工作區
git reset HEAD . //將所有文件從暫存區恢復到工作區
git checkout – <file> //將修改的文件恢復到最新提交後的狀態
git checkout – . //將所有修改的文件恢復到最新提交後的狀態

4、分支
一般修改都是在其他分支進行,最後將提交合併到主分支,所以掌握對分支的操作也是至關重要。

git branch //查看當前分支
git branch -a //查看所有分支
git branch -d branch-name //刪除 branch-name 分支
git checkout branch-name //切換到 branch-name 分支
git cherry-pick commit-id //合併其他分支的 commit 到當前分支
git checkout -b branch-name //在當前分支的基礎上創建一個新分支,並切換過去
git merge branch-name //將branch-name分支的改動合併到當前分支
git branch branch-name SHA1_OF_HASH //如果意外刪除一個分支,可以重新創建它
git reflog //查看最近訪問過的SHA1數

git fetch –all
git reset –hard origin/master
git reset –hard origin/your_branch //強制遠程分支覆蓋本地分支

如果想看git rebase 和 git merge的選擇時機,請點我

5、日誌
git log //查看所有日誌
git log -10 //查看最新10條日誌
git log –grep=”message” //查找含有指定內容的日誌
git log | grep “message” // 如上
git log –author=”Name” //根據作者查找日誌,需加引號
git log <file> //查看指定文件的日誌
git log -S “message” //查看修改中含有“message”的日誌
git log branch-name ^master //查看master分支上沒有的branch-name分支的內容,^表示非
git blame <file> | grep “message” //找出誰修改了某個文件的message

6、衝突
git diff //對比差異
git diff HEAD //對比工作區和最後一次commit的差異
刪除 <<<<, ====, >>>>等標記然後保存,需使用git add 和git commit -m “message”提交

未完待續…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章