設置用戶名與郵箱git
git config --global user.name "My Name" git config --global user.email "my@email.com"
上面設置命令中帶了「–global"參數,是全局配置,影響本機上全部的git項目。也能夠對一些單獨的項目進行設置,進入要設置的項目目錄,進行設置:github
cd dir git config user.name "My Name" git config user.email "my@email.com"
查看配置:緩存
cat .git/config
建立git倉庫:服務器
mkdir project cd project git init #在當前的目錄下建一個倉庫
檢出倉庫:併發
git clone git@server:app.git myrepo
查看遠程倉庫:app
$ git remote -v
添加遠程倉庫:fetch
$ git remote add [name] [url]
刪除遠程倉庫:this
$ git remote rm [name] git push origin master
更新本地代碼到最新版本(須要merge才能合到本地代碼中):url
git fetch
合併更新後的代碼到本地:日誌
git merge
更新代碼方式的另外一種方法(git pull是git fetch和git merge命令的一個組合):
git pull
修改代碼後,查看已修改的內容:
git diff --cached
將新增長文件加入到git中:
git add file1 file2 file3
全部文件所有加入到git中:
git add .
從git中刪除文件:
git rm file1 git rm -r dir1
提交修改:
git commit -m 'this is memo'
若是想省掉提交以前的 git add 命令,能夠直接用:
git commit -a -m 'this is memo' commit和commit -a的區別, commit -a至關於: 第一步:自動地add全部改動的代碼,使得全部的開發代碼都列於index file中 第二步:自動地刪除那些在index file中但不在工做樹中的文件 第三步:執行commit命令來提交
提交全部修改到遠程服務器,這樣,其它團隊成員才能更新到這些修改
git push
建立dev分支:
git branch dev
查看項目倉庫中有幾個分支:
git branch //*號爲當前所在分支 dev * master
分支切換:
//切換到dev分支 git checkout dev
查看master分支和dev分支差別:
git diff dev
合併dev分支到master分支(若是合併發生衝突,須要本身解決衝突):
git merge branchname
解決衝突:
當merge命令自身沒法解決衝突的時候,它會將工做樹置於一種特殊的狀態,而且給用戶提供衝突信息,以期用戶能夠本身解決這些問題。固然在這個時候,未發生衝突的代碼已經被git merge登記在了index file裏了。若是你這個時候使用git diff,顯示出來的只是發生衝突的代碼信息。 在你解決了衝突以前,發生衝突的文件會一直在index file中被標記出來。這個時候,若是你使用git commit提交的話,git會提示:filename.txt needs merge 在發生衝突的時候,若是你使用git status命令,那麼會顯示出發生衝突的具體信息。
在你解決了衝突以後,你可使用以下步驟來提交:
第一步(若是須要增長文件):
git add file1
第二步:
git commit
刪除dev分支:
git branch -d dev
若是要刪除的分支沒有被合併到其它分支中去,那麼就不能用「git branch -d」來刪除它,須要改用「git branch -D」來強制刪除。
將分支推送到遠端倉庫:
git push origin <branch>
刪除遠程分支:
git push origin --delete <branch>
git能夠對某一時間點上的版本打上標籤。如在發佈某個軟件版本(好比 v0.1等),能夠打版本標籤。
列出已有的標籤:
git tag
打標籤:
git tag -a v0.1 -m 'tag version 0.1'
把本地tag推送到遠程:
git push --tags
刪除tag:
git push origin --delete tag <tagname>
顯示commit日誌:
git log
不只顯示commit日誌,並且同時顯示每次commit的代碼改變:
git log -p
查看當前倉庫的狀態:
git status
回滾代碼:
git revert HEAD
你也能夠revert更早的commit,例如:
git revert HEAD^
銷燬本身的修改
git reset --hard
查看最新版本和上一個版本的差別(一個^表示向前推動一個版本)
git diff HEAD HEAD^
git取消已經緩存的文件(慎用):
git reset
git恢復刪除了的文件,git pull 從git服務器取出,而且和本地修改merge, 相似於SVN up,可是對刪除的文件無論用,恢復刪除文件用
git checkout -f
Global setup: Download and install Git git config --global user.name "imbingdian" git config --global user.email imbingdian@gmail.com Next steps: mkdir projectname cd projectname git init touch README git add README git commit -m 'first commit' git remote add origin git@github.com:bingdian/projectname.git git push -u origin master Existing Git Repo? cd existing_git_repo git remote add origin git@github.com:bingdian/projectname.git git push -u origin master