git add <filename> :添加到緩存區
git commit -m "代碼提示信息" :提交改動到HEAD,但還沒到你的遠端倉庫
git push origin master (能夠把master換成想推進的任何分支):推送改動從本地倉庫HEARD到遠端倉庫
git remote add origin <server> :鏈接本地倉庫到某個遠程服務器
---------分支操做----------
*分支用來將特性開發絕緣開來。master是默認的分支,在其餘分支上進行開發,完成後再將它們合併到主分支
git checkout -b branch_name :建立一個叫branch_name的新分支,並切換到此分支
git checkout master: 切回主分支
git branch -d branch_name:刪掉新建的分支
git push origin <branch> :推送到遠端倉庫(除非你將分支推送到遠端倉庫,不然其不爲他人所見)
----------更新與合併----------
git pull 更新本地倉庫至最近改動
git merge <branch> 合併其餘分支到當前分支
出現衝突時,須要修改文件來手動合併衝突,改完後執行命令git add <filename>
合併改動前,可使用命令預覽差別:git diff <source_branch> <target_branch>
-----------標籤----------
git log 獲取ID
git tag <version><ID>
---------log------------
git log 查看本地倉庫的歷史記錄
git log --author=xxxx 只看某我的的提交記錄
git log --pretty=oneline 顯示每條記錄只佔一行的輸出
git log --graph --oneline --decorate --all 樹形結構展現全部分支,每一個分支都表示了他的名字和標籤
git log --name-status 看看哪些文件改變了
---------替換本地改動-------------
操做miss時用命令替換掉本地改動:git checkout --<filename>
*此命令會使用HEAD中的最新內容替換掉你工做目錄中的文件,已添加到緩存區的改動以及新文件不會受影響
丟棄本地的全部改動和提交,能夠到服務器上獲取最新的版本歷史,並將本地文件指向它:
git fetch origin
git reset --hard origin/master
-------------實用小貼士------------
gitk 內建的圖形化html
http://marklodato.github.io/visual-git-guide/index-zh-cn.htmlgit
https://zachholman.com/posts/how-github-works-hours/github
https://zachholman.com/posts/how-github-works-asynchronous/api
http://www.runoob.com/w3cnote/git-guide.html緩存
https://help.github.com/
http://think-like-a-git.net/服務器
git config --list 檢查已有的配置信息markdown
Step/ID
|
command
|
remark
|
related others
|
---|---|---|---|
1.app |
mkdir <name> pwd |
建立子目錄 顯示當前目錄 |
|
2.ssh |
git init | 把這個目錄變成git能夠管理的倉庫 | |
3. | git add <file> |
添加文件 |
|
4. | git commit -m "description" | 提示說明 | |
5. | git status | 倉庫當前的狀態 | |
6. | git diff | 查看不一樣 | |
7. | git log | 查看歷史記錄 | git log --pretty=oneline 查看縮略版的歷史記錄 |
8. | git reset --hard HEAD^ | 回退到上一版本,HEAD後能夠是commit_id | |
9. | git reflog | 用來記錄你的每一次命令,找到commit_id回到將來某個版本 | |
10. | git diff HEAD – <file> | 查看工做區和版本庫裏面最新版本的區別 | |
11. | git checkout – <file> | 用版本庫裏的版本替換工做區的版本,不管工做區是修改仍是刪除 | |
12. | git reset HEAD <file> | 把暫存區的修改撤銷掉,從新放回工做區,用HEAD時,表示最新的版本 | |
13. | git rm | 用於刪除一個文件 | |
14. | ssh-keygen -t rsa -C "youremail@example" |
建立SSH Key | |
15. |
|
關聯github遠程庫 | |
16. | git push - u origin master/git push origin master | 推送到遠程庫 | 第一次用韓語-u的命令,推送master分支的全部內容 |
17. | git clone git@github.com:xxxxx | 克隆一個本地庫 | |
18. | git checkout -b <branchname> | 建立分支 | |
19. | git branch | 列出全部分支(當前分支前會有一個*號) | |
20. | git checkout master | 切換到master分支 | |
21. | git merge dev | 合併制定分支到當前分支 | |
22. | git branch -d dev | 刪除dev分支 | |
23. | git log --graph | 查看分支合併圖 | |
24. | git stash | 把當前工做現場"儲藏"起來,等之後恢復現場後繼續工做 | git stash list 查看工做現場 git stash pop 恢復的同時把stash內容也刪了 |
25. | git branch -D <name> | 強行刪除一個沒有被合併過的分支 | |
26. | git remote | 查看遠程庫的信息 | git remote -v 顯示更詳細的信息 |
27. | git push origin branch -name | 從本地推送分支,若是推送失敗,先用git pull抓取遠程的新提交 | |
28. | git pull | 把最新的提交抓取下來 | 若是提示"no tracking information",則說明本地分支和遠程分支的連接關係沒有建立 |
29. | git tag <name> | 打一個新標籤,默認標籤是打在最新提交的commit上 | git tag <name> <commit id> 找到歷史提交的commit id, 能夠給歷史版本打標籤 |
30. | git tag | 查看全部標籤 |
第一步:新建分支
//獲取主幹最新代碼
git checkout master
git pull
//新建一個開發分支cindy
git checkout -b cindy
第二步:提交分支commit
git add --all(保存全部變化)
git status(查看發生變更的文件)
git commit --verbose(列出diff結果)
第三步:撰寫提交信息
commit
提交commit時,必須給出完整扼要的提交信息,下面是一個範本。
Present-tense summary under 50 characters
* More information about commit (under 72 characters).
* More information about commit (under 72 characters).
http://project.management-system.com/ticket/123
第一行是不超過50個字的提要,而後空一行,羅列出改動緣由、主要變更、以及須要注意的問題。最後,提供對應的網址(好比Bug ticket)。
第四步:與主幹合併
git fetch origin
git rebase origin/master
第五步:推送到遠端倉庫
git push
第六步:發出Pull Request
提交到遠程倉庫後,就能夠發出Pull Request到master分支,而後請求別人進行代碼review,確承認以合併到master。