git add readme.txt 將文件加入緩存區
git checkout -- readme.txt 使緩存區信息無效,同步至版本庫一樣的狀態
若add了一次,又進行了修改回到添加到緩存區前的狀態
誤刪的文件恢復到最新版本
git commit -m "git tracks changes" 提交緩存區信息
rm test.txt 刪除文件
git status
git rm test.txt 確認刪除文件
git commit -m "remove test.txt"
git checkout -- test.txt 撤銷刪除
git reset HEAD readme.txt 使緩存區信息無效
git reset --hard HEAD^ 返回上一個版本
git reset --hard HEAD^^ 返回上二個版本
git reset --hard 版本號
git log //顯示版本改變的信息 --pretty=oneline
git reflog //顯示命令操作信息,以及版本號
cat readme.txt 顯示文件信息
git status //顯示工作區文件是否被修改
git diff HEAD -- readme.txt //顯示工作區與版本庫的區別
git remote -v 查看遠程庫信息
git remote rm origin 刪除已有的GitHub遠程庫
遠程庫名
git remote add origin [email protected]:qmylzx1996/倉庫名.git
git remote add gitee [email protected]:qmylzx1996/learngit.git
git push -u origin master 推送至遠程庫
git push origin 分支名
git push github master 推送到github
git push gitee master 推送到碼雲
master分支是主分支,因此要時刻與遠程同步;
dev分支是開發分支,團隊所有成員都需要在上面工作,所以也需要與遠程同步;
bug分支只用於在本地修復bug,就沒必要推到遠程了,除非老闆要看看你每週到底修復了幾個bug;
feature分支是否推到遠程,取決於你是否和你的小夥伴合作在上面開發。
git clone [email protected]:qmylzx1996/倉庫名.git 恢復遠程到本地
創建 切換dev分支
git checkout -b dev = git branch dev + git checkout dev 創建並切換dev分支
git checkout -b branch-name origin/branch-name //推送到遠程,另外一個人看不到div分支,需要用這個創建遠程origin的dev分支到本地才能修改
git branch --set-upstream branch-name origin/branch-name 指定本地dev分支與遠程origin/dev分支的鏈接
git branch 查看分支
git merge dev 合併分支,head直接指向div
git merge --no-ff -m "merge with no-ff" dev 禁止fast forward合併分支,會保留div,新建一個合併節點指向新節點
git branch -d dev 刪除div分支
git branch -D feature-vulcan 強制刪除feature-vulcan分支
git log --graph 查看分支合併圖
git log --graph --pretty=oneline --abbrev-commit
git stash 可以把當前工作現場“儲藏”起來,等以後恢復現場後繼續工作
git stash list 工作現場
git stash apply 恢復
git stash drop 來刪除
git stash pop 恢復的同時把stash內容也刪了
git stash apply stash@{0} 恢復指定的stash
rebase 操作可以把本地未push的分叉提交歷史整理成直線
目的是使得我們在查看歷史提交的變化時更容易,因爲分叉的提交需要三方對比
git tag <name> 打一個新標籤
git tag v0.9 f52c633 指定版本號打標籤
git tag 查看所有標籤
標籤不是按時間順序列出,而是按字母排序的。可以用git show <tagname>查看標籤信息
git tag -a v0.1 -m "version 0.1 released" 版本號 創建帶有說明的標籤,用-a指定標籤名,-m指定說明文字
git show <tagname> 可以看到說明文字
git tag -d v0.9 刪除
git push origin :refs/tags/v0.9 從遠程刪除
git push origin <tagname> 推送某個標籤到遠程
git push origin --tags 一次性推送全部尚未推送到遠程的本地標籤
在GitHub上,可以任意Fork開源倉庫;
自己擁有Fork後的倉庫的讀寫權限,克隆到本地;
可以在GitHub上推送pull request給官方倉庫來貢獻代碼。
git remote add origin [email protected]:liaoxuefeng/learngit.git 連接碼雲
取別名
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch