git 經常使用命令--Linus Torvalds

1.git log git

   顯示倉庫的歷史記錄,默認顯示全部記錄,app

   1)git log -m,顯示最近的幾回提交,, post

   2)git log --pretty=oneline  顯示提交hash和註釋url

-p 按補丁格式顯示每一個更新之間的差別。
--stat 顯示每次更新的文件修改統計信息。
--shortstat 只顯示 --stat 中最後的行數修改添加移除統計。
--name-only 僅在提交信息後顯示已修改的文件清單。
--name-status 顯示新增、修改、刪除的文件清單。
--abbrev-commit 僅顯示 SHA-1 的前幾個字符,而非全部的 40 個字符。
--relative-date 使用較短的相對時間顯示(好比,「2 weeks ago」)。
--graph 顯示 ASCII 圖形表示的分支合併歷史。
--pretty 使用其餘格式顯示歷史提交信息。可用的選項包括 oneline,short,full,fuller 和 format(後跟指定格式)。spa

2.git reflog 查看命令歷史.net

3.git resetcode

    1)git reset --hard HEAD^ 回退到當前的上一個版本orm

      用HEAD表示當前版本,上一個版本就是HEAD^,上上一個版本就是HEAD^^,固然往上100個版本寫100個^比較容易數不過來,因此寫成HEAD~100blog

    2) git reset --soft HEAD^ 回退到當前的上一個版本,可是內容放回到倉庫中,這個命令經常使用於合併屢次提交爲一次,或者製做補丁用ci

4.git branch 建立分支

     1)git checkout -b dev hash 在某個點上建立dev分支,並切換到dev分支

    2)git branch 查看分支

    3)git branch -d dev 刪除分支

    4)git push origin  :remote-branch-name  刪除遠程分支,:前面的空格不能省,原理是push一個空分支到遠程的對應分支,至關於刪除

5.git remote 管理倉庫地址 

    1)git remote -v   查看倉庫地址

    2)git remote add test1 xxx  添加一個倉庫地址

    3)git remote rename test1 test2 

    4)git remote set-url test2 xx2  修改url

6.git pull 拉倉庫

    1)git pull remotename branchname 拉指定倉庫

http://blog.csdn.net/wfdtxz/article/details/8632811

7.git commit 提交

     1)git commit -m "message" -- file1 file2 ...   提交多個文件

     2)git commit -m "message" . 提交本目錄下的全部文件

    3)git commit -m "message" -- folder

-a 全部文件

--amend 修改上次修改

--allow-empty-message -m ""

7.git push 推送倉庫

     git push <遠程主機名> <本地分支名>:<遠程分支名>

    git push origin master

8.git stash 暫時存儲修改 

     1)git stash 保存工做現場

     2)git stash pop 彈出最上面一個stash並刪除

     3)git stash list 查看stash列表

     4)git stash apply stash@{0} 應用某個stash可是不從list中刪除

9.git tag  製做標籤

    1) git tag 查看標籤

      2)git tag v0.1 xxx  在某個點上建立v0.1的標籤

      3)git tag -d v0.1 刪除v0.1tag

      4)git push origin v0.1 推送tag到遠程

      5)git push origin --tags 推送本地的全部標籤

      6)git push origin :refs/tags/v0.1 刪除遠程的v0.1標籤

10. git clean 清除

     -f 強制刪除 -d 目錄 -x 刪除不在版本庫的包括忽略的文件,  -X 刪除僅僅忽略的文件

11. git 配置別名

     1) git config --global alias.st status   ==>> git st

     2) git config --global alias.co checkout  ===>>git co 

     3) git config --global alias.ci commit  ===>>git ci

     4) git config --global alias.br branch   ====>>git br

12.git format-patch git補丁應用

     1)git format-patch 365a...4e16  兩次提交直接的補丁,可能有多個

     2)git format-patch -n 07fe 某次提交以前的幾回提交

  應用補丁     

    3)git apply --stat newpatch.patch 檢查patch文件

      4)git apply --check newpatch.patch 檢查可否應用成功

      5)git apply --reject newpatch.patch 合併無衝突的,有衝突的產生.rej 文件,原始文件不修改

      5)編輯衝突文件,修改提交

      6)git am --resolved 標記解決了

13.git diff 標準補丁

     1) git diff master..test --binary  只顯示兩個分支間的差別,

  -- ./lib 加上限定符,只比較某個目錄

   Linux下的diff命令 diff  -uN f1 f2 

     2) git apply --check 檢查補丁   --check 檢查補丁, 沒有check直接應用補丁

     3)patch -p1 patchfile 補丁文件 若是有衝突會生成三個文件,.orig是原始文件,.rej是衝突的修改地方.另外一個是修改後的文件

 

diff --git a/test1/b.txt b/test1/b.txt
index e69de29..36aa66d 100644
--- a/test1/b.txt
+++ b/test1/b.txt
@@ -0,0 +1 @@
+12323

 -p 指定目錄級別,-p0 使用完整路徑,-p1 去除前導斜槓,留下test1/b.txt, -p2 剩下b.txt

 -R 反不掉,能夠對此次的補丁恢復回來  

 

   應用補丁衝突 http://www.fwolf.com/blog/post/448

14.git bisect 二叉樹定位版本錯誤

     1)git bisect start 

     2)git bisect bad 

     3)git bisect good xxx

     4)git bisect reset 最後完成,回到當前位置

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

http://git-scm.com/docs/gittutorial

相關文章
相關標籤/搜索