請等待更新...git
git 外觀行爲的控制變量一般存在於三個地方,/etc/gitconfig
,~/.gitconfig or ~/.config/git/config
,$PRJ/.git/config/
,這三個文件能夠以次被 git 的三個參數修改,git config --system
,git config --global
,git 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
能夠跳轉到工程目錄運行 git init
。該命令將建立一個名爲 .git 的子目錄,這個子目錄含有你初始化的 Git 倉庫中全部的必須文件。vim
運行 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 ?? 新添加的未跟蹤文件
在 git 倉庫下運行 git add file_path/dir_path
,若是你想僅僅暫存一個文件中的部分,可附加上 --patch
選項,該選項會以交付的方式讓你選擇你想要的 patch。固然 git 也提供了一個更爲直觀方便的模式來進行這些操做( git add -i
)。fetch
若是隻是輸入簡短的說明能夠直接運行 git commit -m "comment"
, 若是想保留更加詳細的信息則運行 git commit
.url
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
。命令行
查看當前工程檢出的分支: git branch
;查看全部分支: git branch -a
。code
查看已修改,但未暫存到目錄中的改動 git diff
, 若是想查看已經加入暫存區可是還未提交的文件改動可以使用 git diff --staged
或者 git diff --cache
,二者的效果是同樣的。server
git pull
(等價於 git fetch && git checkout
)。
git push
git meger
正常狀況下出現衝突時 git 默認只會顯示被合併(ours)以及合併版本(otheirs)出現的衝突,而這裏有個配置( git config --global merge.conflictstyle diff3 # def:merge
)可讓你的 git 在產生衝突時在文件中標定出被合併版本(ours),合併版本的改動(others)以及兩個版本的基(base)的改動。
git stash
git submode add url
git reset
請等待更新...
請等待更新...