1. 程式人生 > >Git 代碼管理命令

Git 代碼管理命令

devel ads local jquer 發現 tro set amp 暫存

1) 遠程倉庫相關命令
檢出倉庫:$ git clone git://github.com/jquery/jquery.git
查看遠程倉庫:$ git remote -v
添加遠程倉庫:$ git remote add [name] [url]
刪除遠程倉庫:$ git remote rm [name]
修改遠程倉庫:$ git remote set-url --push[name][newUrl]
拉取遠程倉庫:$ git pull [remoteName] [localBranchName]
推送遠程倉庫:$ git push [remoteName] [localBranchName]

2)分支(branch)操作相關命令


查看本地分支:$ git branch
查看遠程分支:$ git branch -r
創建本地分支:$ git branch [name] ----註意新分支創建後不會自動切換為當前分支
切換分支:$ git checkout [name]
創建新分支並立即切換到新分支:$ git checkout -b [name]
刪除分支:$ git branch -d [name] ---- -d選項只能刪除已經參與了合並的分支,對於未有合並的分支是無法刪除的。如果想強制刪除一個分支,可以使用-D選項
合並分支:$ git merge [name] ----將名稱為[name]的分支與當前分支合並
創建遠程分支(本地分支push到遠程):$ git push origin [name]
刪除遠程分支:$ git push origin :heads/[name]
我從master分支創建了一個issue5560分支,做了一些修改後,使用git push origin master提交,但是顯示的結果卻是‘Everything up-to-date‘,發生問題的原因是git push origin master 在沒有track遠程分支的本地分支中默認提交的master分支,因為master分支默認指向了origin master 分支,這裏要使用git push origin issue5560:master 就可以把issue5560推送到遠程的master分支了。
如果想把本地的某個分支test提交到遠程倉庫,並作為遠程倉庫的master分支,或者作為另外一個名叫test的分支,那麽可以這麽做。

$ git push origin test:master // 提交本地test分支作為遠程的master分支 //好像只寫這一句,遠程的github就會自動創建一個test分支
$ git push origin test:test // 提交本地test分支作為遠程的test分支

如果想刪除遠程的分支呢?類似於上面,如果:左邊的分支為空,那麽將刪除:右邊的遠程的分支。

$ git push origin :test // 剛提交到遠程的test將被刪除,但是本地還會保存的,不用擔心

3)版本(tag)操作相關命令
查看版本:$ git tag
創建版本:$ git tag [name]
刪除版本:$ git tag -d [name]
查看遠程版本:$ git tag -r
創建遠程版本(本地版本push到遠程):$ git push origin [name]
刪除遠程版本:$ git push origin :refs/tags/[name]
推送所有tag: git push origin --tags

tag遷出branch:
git checkout tagname
git checkout -b new_branch_name

4)git stash暫存相關命令

git stash: 備份當前的工作區的內容,從最近的一次提交中讀取相關內容,讓工作區保證和上次提交的內容一致。同時,將當前的工作區內容保存到Git棧中。
git stash pop: 從Git棧中讀取最近一次保存的內容,恢復工作區的相關內容。由於可能存在多個Stash的內容,所以用棧來管理,pop會從最近的一個stash中讀取內容並恢復。
git stash list: 顯示Git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。
git stash clear: 清空Git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。

5)git rebase 使用

當前分支問題develop,從master拉取最新代碼
git pull --rebase origin master 或者 git rebase develop
先將develop分支的代碼checkout出來,作為工作目錄
然後將master分支從develop分支創建起的所有改變的補丁,依次打上。如果打補丁的過程沒問題,rebase就搞定了
如果打補丁的時候出現了問題,就會提示你處理沖突。處理好了,可以運行git rebase –continue繼續直到完成
如果你不想處理,你還是有兩個選擇,一個是放棄rebase過程(運行git rebase –abort),另一個是直接用test分支的取代當前分支的(git rebase –skip)。

6) 工具

SourceTree & git bash

Git 代碼管理命令