SVN與GIT的區別
概念
SVN:集中化的版本控制系統
GIT:分佈式版本控制系統
集中化的系統,受限於服務器,比如:提交記錄,如果我離線的話,提交記錄是看不到的;代碼更改,我想查看每次提交的更改也很困難;
爲什麼使用GIT?
git可以提高開發效率,主要表現在:
- 合併對提交過程的保留
- 修正提交
- 廉價好用的本地分支
- 更強大智能的合併能力
- 完整配套的開發過程設施(wiki issue 功能大讚!)
- 查看日誌
windows下使用git
- 安裝git bash。
- 生成ssh key,打開git bash,輸入下面命令行,生成ssh key,windows將會在C:\Users\userxx\.ssh下生成公鑰/私鑰。
4. 在碼雲上創建項目,然後在本地checkout。
這裏我們將dev分支reset到2018/02/07 21:25merge branch jiangzd to dev這個提交點。
reset後點擊push。
選擇force push,就將之後的所有提交恢復。
git推廣過程中很大的問題就是不熟悉的用戶在解決衝突的時候經常犯錯,造成員工很大的抵觸,使用GitKraken解決衝突也是比較簡單的。
這裏我們在jiangzd和lwb分支分別修改了ScheduleTask.java文件的13行,然後分別提交合併到dev分支,以這個爲例解決衝突。
7.7.1 修改jiangzd分支代碼
7.7.2 修改lwb分支代碼
7.7.4 將jiangzd分支merge到dev分支。
7.7.5 我們看到在dev分支上產生了衝突。
點擊衝突文件可以看到衝突詳細內容,左邊是dev分支上的內容,右邊是jiangzd分支上的內容,合併的人可以根據情況選擇到底選擇那邊的代碼進入dev分支。這裏我們選擇jiangzd分支的內容,在對應行打上勾。完成後選擇Save。
點擊commit,就提交到了本地庫,然後點擊push,就完成了這次的合併。