最近剛接觸Git版本控制毅弧,作為一個初學(xué)者睦番,參考廖雪峰老師的教程學(xué)習(xí)Git腻扇,受益匪淺债热,感謝之際,把在學(xué)習(xí)過程中用到的一些常用命令做一個集合幼苛。
-
時光機穿梭
git status
查看當(dāng)前工作區(qū)狀態(tài)(可修改窒篱,可提交)
git diff
文件名 查看文件的修改情況
git add
文件名 將文件暫存到本地
git commit -m “描述信息”
提交修改
git commit -m -a “描述信息”
將所有已修改和已刪除且已經(jīng)被git管理的文檔提交到倉庫中,如果是提交已經(jīng)被git管理了的已修改或以刪除的文檔舶沿,是沒必要使用git add命令的
git commit --amend
如果已經(jīng)修改并提交完成墙杯,此時想要修改描述信息,可食用此命令括荡,使用后自動調(diào)出編輯框高镐,修改保存即可
git log 查看歷史記錄
git log --pretty=oneline
查看歷史記錄(單行顯示)
git reset --hard head^/head^^/head~1
自從指定commit以來在工作區(qū)所有的修改提交都丟棄,并將head指向commit
git reset --soft head^/head^^/head~1
工作區(qū)中的內(nèi)容不做任何改變畸冲,僅僅把head指向commit(可用于將多次commit合并為一次commit)
git reflog
查看之前輸入的命令歷史記錄
git checkout -- <file>
當(dāng)工作區(qū)文件被修改嫉髓,尚未暫存并且想要丟棄這些修改時,可使用該命令
git reset HEAD <file>
可把暫存區(qū)的修改撤銷掉
git remove <file>
刪除暫存區(qū)中的文件邑闲,然后再commit
git clone <address>
從遠端克隆
git checkout -b 分支名
創(chuàng)建并指向新的分支算行,相當(dāng)于git branch 分支名 + git checkout 分支名
-
分支管理
git branch
查看當(dāng)前分支
git branch -a
查看所有分支
git merge <name>
合并某分支到當(dāng)前分支
git branch -d <name>
刪除分支
git log -- graph
查看分支合并圖
git merge --no-ff -m “描述信息” <name>
強制禁用Fast forward模式 合并,合并完成后會產(chǎn)生一次commit苫耸,這樣從分支歷史上就可以看出分支信息
git stash
將當(dāng)前工作現(xiàn)場保存起來
git stash list
查看保存的副本列表
git stash apply
恢復(fù)但不刪除副本
git stash drop
刪除副本
git stash pop
恢復(fù)同時刪除副本
git branch -D <name>
強行刪除分支
git remote -v
查看遠程庫信息
git push origin branch-name
從本地分支推送
git checkout -b branch-name origin/branch-name
在本地創(chuàng)建與遠程分支對應(yīng)的分支州邢,分支名最好一樣
git branch --set-upstream branch-name origin/barnch-name
建立本地分支和遠程分支的關(guān)聯(lián)
git pull
從遠程抓取分支,如有沖突褪子,要先處理沖突
git fetch
從遠程獲取最新版到本地量淌,不會自動merge
git rebase
把一個分支的修改合并到當(dāng)前分支
-
標(biāo)簽管理
git tag <name> <commit-id>
給某次提交創(chuàng)建標(biāo)簽,commit-id可以不填嫌褪,則默認(rèn)創(chuàng)建給最新的提交
git tag
查看標(biāo)簽呀枢,按字母排序
git show <tag-name>
查看標(biāo)簽信息
git tag -a <name> -m “描述信息” <commit-id>
創(chuàng)建帶有說明的標(biāo)簽
git tag -s <name> -m “描述信息” <commit-id>
使用PGP簽名創(chuàng)建標(biāo)簽
git tag -d <name>
刪除一個本地標(biāo)簽
git push origin <tag-name>
推送某個標(biāo)簽到遠程
git push origin --tags
一次性推送全部尚未推送到遠程的本地標(biāo)簽
git push origin :refs/tags/tagname
在刪除了本地標(biāo)簽后,此命令可用于刪除遠程標(biāo)簽
-
自定義git
git config --global alias.st status
將status配置別名為st
學(xué)會了這些命令笼痛,就能應(yīng)付日常工作的git管理啦~