git 總結

git 經常使用操做

    請等待更新...git

  1. 配置 git

    git 外觀行爲的控制變量一般存在於三個地方,/etc/gitconfig~/.gitconfig or ~/.config/git/config$PRJ/.git/config/,這三個文件能夠以次被 git 的三個參數修改,git config --systemgit config --globalgit config --local/(OR NOTHING),固然也能夠手動去修改之。在運行 git 的時候最靠近執行命令的配置會覆蓋以前的配置(好比命令行的會覆蓋工程目錄下的.git)。首先須要配置的是用戶名(git config user.name "jason"),和聯繫的 email(git config user.email "xxx@xxx.com"),而後若是以爲 git 默認的編輯器(emacs)很差用,能夠修改之( git config --global core.edit vim)。若是想查看 git 的全部配置信息(git config --list)。github

  2. 利用 git 管理現有工程

    能夠跳轉到工程目錄運行 git init。該命令將建立一個名爲 .git 的子目錄,這個子目錄含有你初始化的 Git 倉庫中全部的必須文件。vim

  3. 查看當前工程代碼管理狀態

    運行 git status 會顯示當前分支,當前 HEAD 所指向版本的狀態,若是工做目錄中存在未跟蹤的文件,status 將會將違背跟蹤的文件或者目錄以紅色(默認)顯示在 Untracked files: 這行提示信息下。若是工程中相對於暫存去中的跟蹤文件發生了變更,status 則會在 Changes not staged for commit: 下提示發生變更的文件。若是工程中存在已加入暫存區中的內容(但未提交),則會在 Changes to be committed: 下提示哪些文件正存在與暫存區,ssh

    輸出狀態會如下面這幾個關鍵詞修飾文件所發生的變更, new file, modified, delete,這些修飾詞的存在將很是方便的幫助咱們管理咱們的代碼。但我過你以爲過於繁瑣,可以使用 git status -s,該命令能夠一更加精簡的方式輸出狀態信息。好比:編輯器

        $ git status -s
         M README
        MM Rakefile
        A  lib/git.rb
        M  lib/simplegit.rb
        ?? LICENSE.txt
        ---
        []M  表示修改了未加入暫存區
        MM   歷史修改已經加入暫存區,新修改內容未放入暫存區
        M[]  歷史修改已經加入暫存區
        A[]  新增文件已加入暫存區
        []A
        ??   新添加的未跟蹤文件
    
  4. 讓 git 跟蹤你和暫存工做中的內容

    在 git 倉庫下運行 git add file_path/dir_path,若是你想僅僅暫存一個文件中的部分,可附加上 --patch 選項,該選項會以交付的方式讓你選擇你想要的 patch。固然 git 也提供了一個更爲直觀方便的模式來進行這些操做( git add -i )。fetch

  5. 代碼提交

    若是隻是輸入簡短的說明能夠直接運行 git commit -m "comment", 若是想保留更加詳細的信息則運行 git commit.url

  6. 克隆倉庫

    git 支持從文件路徑,http/https, ssh-server 的方式克隆倉庫,基本用法以下: git clone dir_path, git clone https://github.com/git/git.git, git clone git@github.com:git/git.git命令行

  7. 查看當前分支

    查看當前工程檢出的分支: git branch;查看全部分支: git branch -acode

  8. 查看工程中版本差別

    查看已修改,但未暫存到目錄中的改動 git diff, 若是想查看已經加入暫存區可是還未提交的文件改動可以使用 git diff --staged 或者 git diff --cache ,二者的效果是同樣的。server

  9. 拉取最新代碼

    git pull (等價於 git fetch && git checkout)。

  10. 推送代碼

    git push

  11. 合併分支

    git meger

    正常狀況下出現衝突時 git 默認只會顯示被合併(ours)以及合併版本(otheirs)出現的衝突,而這裏有個配置( git config --global merge.conflictstyle diff3 # def:merge )可讓你的 git 在產生衝突時在文件中標定出被合併版本(ours),合併版本的改動(others)以及兩個版本的基(base)的改動。

  12. 暫存當前開發進度

    git stash

  13. 子模塊

    git submode add url

  14. 回滾

    git reset

    請等待更新...

...

    請等待更新...


參考文檔
隨便轉載,我不介意,本文檔聽從 wtfpl 協議
我是留白;我是留白;我是留白;(重要的事情說三遍)

To Top

相關文章
相關標籤/搜索