從svn切換到git上的使用總結
阿新 • • 發佈:2019-01-30
當工作中第一次要從svn切換到git的時候其實內心還是蠻開心的,畢竟總算是跟上時代的步伐了,但是從svn切到git上是痛苦的,下面我將自己在工作中用到的svn與git做個對比,幫助大家也能順利地從svn上轉換到git上。從svn到git,最容易忘記的就是git的commit操作只是將暫存區的內容提交到本地倉庫,而不是遠端倉庫,commit的時候同時是看不到,個人感覺這一點是初次上手git最容易出錯的地方
下面的圖片很清晰的說明來一些命令和各個區域的關係
(以上圖片來自網路)
1.從遠端倉庫拉取程式碼到本地:git clone -b brance 遠端倉庫的地址
2.程式碼有了,那肯定要在工作區內大顯身手了,擼完程式碼也得和同事分享,那麼接下來要做的就是
- git add . 將寫的檔案提交到暫存區
- git commit -m “提交備註” 將暫存區的檔案提交到本地倉庫,
切記這只是本地倉庫,還未分享出去*- git push 提交到遠端倉庫,這時你的同事就可以看見了
但是在多人協作的情況下事情沒有這麼簡單的,這幾個簡單的命令也是無法滿足需求的,需要在不同的分支上進行切換,那麼你就需要掌握一些關於分支的命令
- git branch 檢視你當前所在的分支
- git branch name 建立分支
- git checkout -b branchName 當前所在分支建立新分支
- git checkout branchName 切換分支
- git merge branchName 合併branchName分支到當前分支
- git git cherry-pick (-n) commitId(SHA) 挑揀(多個)一個提交到當前分支
比如你剛剛開發了一些需求,上司突然又給你安排了一件非常緊急的任務,要你馬上做,這時你工作目錄下的檔案又不想提交那麼這時就需要使用
- git stash list 檢視儲存的工作進度
- git stash 儲存工作進度
- git stash pop 來恢復儲存的工作狀態
有時提交的時候需要比較本地和版本庫之間的差異這時就需要使用git diff 命令來了
- git diff 工作空間和暫存區的區別
- git diff HEAD 工作空間和版本庫的區別
- git diff –cached 暫存區和版本庫的區別
使用git提交程式碼的時候,我們難免不會犯錯,畢竟我們是普通的凡人,這時我們可以使用git reset來挽回我們的錯誤
- git reset –soft 只更改版本庫的指標,不改變暫存區和工作區
- git reset –mixed 只更改引用的指向和暫存區,不影響工作區(預設為mixed)
- git reset –hard 影響引用的指標,暫存區,工作區
偶爾我們也需要刪除檔案這時我們可以使用
- git rm fileName 從工作目錄和暫存區中刪除
- git rm –cache fileName 從暫存區中刪除,工作目錄中保留