Git Guide之basic篇

Basic

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>

添加文件

async

  • git add -A 提交全部變化
  • git add -u 提交被修改(modified)和被刪除(deleted)文件,不包括新文件(new)
  • git add . 提交新文件(new)和被修改(modified)文件,不包括被刪除(deleted)文件
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.

git remote add origin git@github.com:xxxxx.git

關聯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。

相關文章
相關標籤/搜索