Git常用命令總結

git diff

git diff [filename] 可以查看文件的修改狀態。可以看成diff是和最近的commit或者add相比較,這一點和 git checkout 如出一轍。


git log

git log -p [filename] 可以查看文件的歷史版本修改記錄,git log --pretty=oneline 將版本記錄每一條展示在一行方便觀看。


git reset –hard

git reset --hard 更換版本的時候,commit只保存了暫存區的數據,也就是已經add過得文件可以通過版本切換找回,不過如果只是修改了但是沒有add的文件就沒辦法了,另外新建了一個文件在任何一個版本都能找到,換句話說,如果你想將一個文件的改變加入版本中,必須 add&commit 這個文件。


git checkout -b branch

git checkout -b dev 新建一個分支,如果在同一目錄上創建分支,那麼在一個分支上對一個文件進行修改,在其他分支上也能看到,除非add&commit了,(commit之前,兩個分支的修改都是同步的,包括add到暫存區)如果在dev上進行修改,但是在master上進行 add&commit ,那麼這次修改算master的,dev上沒有記錄也沒有修改。


git reset HEAD filename

git reset HEAD filename 可以將暫存區的文件清除,不小心add了可以返回,而且僅僅是將暫存區的清除,如果add後又改變了該文件,reset後不會用暫存區的文件將未暫存的覆蓋。


git stash

git stash 可以將正在進行的工作狀態進行保存,如果寫到一半,要處理其他事物,可以將當前修改的文件保存起來,現在工作區就是前一個commit時的狀態,這次的修改都被保存起來隱藏了。git stash list 可以看到當前所有保存的工作狀態,使用 git stash apply 可以恢復工作狀態,恢復指定的使用 git stash apply stash@{0} ,不過之前add的文件會被清出暫存區,展示在modify but no stage中,恢復完後可以使用 git stash drop 刪除這個工作狀態。


git remote add origin [email protected]:username/xxxx.git

git remote add origin [email protected]:username/xxxx.git 添加一個遠程庫,並命名爲origin,光添加一個地址還不行,需要將自己的公鑰上傳到該github賬號中,這樣才能進行後續的pull,push等操作


git push &git pull

git push <遠程主機名> <本地分支名>:<遠程分支名> | git pull <遠程主機名> <遠程分支名>:<本地分支名> 通過給本地分支與遠程分支建立追蹤關係:$ git branch --set-upstream master origin/next ,下次push或pull是可以忽略不寫分支,只需git pull/push


git設置別名

你可以給常用的命令設置簡易別名,這樣做能節約時間成本,列如:git config --global alias.co checkout ,設置以後你就可以這樣使用 git co filename == git checkout filename


查看某次提交的文件修改

git show 可以查看某次提交的相關修改。


git忽略文件

.gitignore文件只對從未追蹤過得文件起效果,即從未add或者commit的文件,如果想對已經追蹤過得文件進行忽略,使用git rm –cached filename,然後commit即可

發佈了29 篇原創文章 · 獲贊 22 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章