2016年1月2日 星期六

Git指令:Review

Git with GitHub

Upload to Github

git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:username/XXX.git
git push -u origin master

常用的指令

$ git status
$ git diff
$ git log  //看下過的commit
$ git tag "tag name" //幫一長串的commit改ID
$ git checkout "commit" //變回"commit(一串id)" or Head
$ git rm "..." //刪除"..."
$ git mv "..." //移動檔案

Branch

$ git checkout -b [name_of_your_new_branch]
 //把新建的分支取名為branchname並移動到分支上
$ git branch [name_of_your_new_branch]
 // 新建一個branch叫
$ git checkout [name_of_your_new_branch]
 //移動到branch上
$ git branch -d [name_of_your_new_branch]
 //刪除
$ git branch //列出所有的branch
$ git branch -v //查看各個分支最後一個提交物件的資訊
$ git branch --merged //哪些分支是當前分支的直接上游

Push the branch on github :

$ git push origin [name_of_your_new_branch]

$ git push origin :[name_of_your_new_branch] //刪除遠端分支
$ git remote show origin  //監看遠端儲存庫

Stash

git stash //把目前工作區的東西丟到暫存區裡,等之後在回來拿他
git stash list //列出所有暫存區的資料
git stash pop //取出最新的一筆, 並移除.
git stash apply //取出最新的一筆 stash 暫存資料. 但是 stash 資料不移除
git stash clear //把 stash 都清掉

Merge & Rebase

Merge a branch back.

//回到 master 分支,利用 git merge 命令指定要合併進來的分支
$ git checkout master
$ git merge [name_of_your_new_branch]

Rebase概念請參考:https://git-scm.com/book/zh-tw/v1/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E8%A1%8D%E5%90%88

雖然最後整合得到的結果跟merge沒有區別,但rebase能產生一個更為整潔的提交歷史。

沒有留言:

張貼留言