windows環境使用git(使用GitKraken)

SVN與GIT的區別

概念

SVN:集中化的版本控制系統

GIT:分佈式版本控制系統

集中化的系統,受限於服務器,比如:提交記錄,如果我離線的話,提交記錄是看不到的;代碼更改,我想查看每次提交的更改也很困難;

爲什麼使用GIT?

git可以提高開發效率,主要表現在:

  • 合併對提交過程的保留
  • 修正提交
  • 廉價好用的本地分支
  • 更強大智能的合併能力
  • 完整配套的開發過程設施(wiki issue 功能大讚!)
  • 查看日誌

windows下使用git

  1. 安裝git bash。
  2. 生成ssh key,打開git bash,輸入下面命令行,生成ssh key,windows將會在C:\Users\userxx\.ssh下生成公鑰/私鑰。
 ssh-keygen -t rsa -C "[email protected]"
     3. 在碼雲設置自己的公鑰。

      4. 在碼雲上創建項目,然後在本地checkout。
      

5. 安裝GitKraken,並註冊賬號。
6. 打開剛剛clone的項目。

7. 提交修改
7.1 將修改加入到暫存區

7.2 輸入summary,點擊提交。

7.3 commit後只是在本地提交了,但是修改並沒有提交到遠程git服務器,還需要點擊push,纔會提交到遠程服務器。
這裏我們可以選擇左邊欄的master分支,點擊右鍵,選擇set upstream,還可以提交到不同的遠程git服務器。

7.4 創建本地分支。
我們平時都會把用於發佈的版本提交到master分支,平時開發都在dev分支進行,然後每人還會有一個自己的開發分支。

這裏我創建一個dev分支和jiangzd分支,然後在jiangzd分支上進行修改,最後測試通過後把修改merge到dev分支。



7.5 有時候我們只想把某個提交merge到一個分支,而不是整個分支都merge,可以使用cherrypick,merge單次提交。
這裏我們將jiangzd分支上定時任務提交merge到master分支。
7.5.1 首先切換到master分支
7.5.2 選擇jiangzd分支上的定時任務提交,右擊,選擇cherry pick commit。


這就實現了個別提交的cherry pick。

7.6 reset分支到某個提交。

這裏我們將dev分支reset到2018/02/07 21:25merge branch jiangzd to dev這個提交點。



reset後點擊push。


選擇force push,就將之後的所有提交恢復。



7.7 解決衝突

git推廣過程中很大的問題就是不熟悉的用戶在解決衝突的時候經常犯錯,造成員工很大的抵觸,使用GitKraken解決衝突也是比較簡單的。

這裏我們在jiangzd和lwb分支分別修改了ScheduleTask.java文件的13行,然後分別提交合併到dev分支,以這個爲例解決衝突。

7.7.1 修改jiangzd分支代碼


7.7.2 修改lwb分支代碼

7.7.3 將lwb分支的修改merge到dev分支

7.7.4 將jiangzd分支merge到dev分支。



7.7.5 我們看到在dev分支上產生了衝突。


點擊衝突文件可以看到衝突詳細內容,左邊是dev分支上的內容,右邊是jiangzd分支上的內容,合併的人可以根據情況選擇到底選擇那邊的代碼進入dev分支。這裏我們選擇jiangzd分支的內容,在對應行打上勾。完成後選擇Save。


點擊commit,就提交到了本地庫,然後點擊push,就完成了這次的合併。



發佈了64 篇原創文章 · 獲贊 16 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章