版本管理工具git與svn簡介
阿新 • • 發佈:2018-04-24
clear 碼代碼 check fig 常用指令 ons 自己的 開發 1.0
版本管理工具
版本管理工具簡介
- 常見版本管理工具
- cvs(Concurrent Versions System)
- vss(Visual SourceSafe)
- svn 常用的版本管理工具
- git 流行的版本管理工具(分支管理強於svn)
- bitkeeper
- hg
- cc(ClearCase)
SVN
- 常用指令
- checkout 下載代碼
- update 從服務器更新本地代碼代碼
- add 向服務器添加文件
- commit 提交本地的更改到服務器
- showlog 查看版本日誌
GIT
- git init
- 新建倉庫(即:git目錄)
- git add
- git add * 向倉庫中添加所有文件
- git add stc/ 向倉庫中添加文件夾
- .gitignore 哪些文件忽略掉
- 一般這些文件忽略掉
- *.config
- *.creator.user
- *.includes
- *.files
- *.bin
- *.so
- *.o
- 一般這些文件忽略掉
- git add -A 除了.gitignore之外的文件都加入
- git status
- 顯示工作目錄與暫存區狀態, 會看到工作區與倉庫代碼的異同
- 不顯示已經commit過的文件
- git commit
- git commit -m "add xxx" -m表示附加代碼提交log信息
- git checkout
- git checkout xxx checkout xxx目錄
- git log
- 看歷史更新信息
- 會看到提交點唯一編號, 提交者, 提交時間等
- git revert
- git revert +提交點唯一編號 恢復到該提交點
- 實際沒有刪除之後的分支, 而是將提交點的代碼重新提交一次.
- git revert +提交點唯一編號 恢復到該提交點
- git --help
- git 幫助
- git branch
- git branch 1.0 分支1.0
- 用於控制項目裏分支和程碑意義的版本, 避免commit的雜亂
- git branch -a 查看分支版本
- git branch 1.0 分支1.0
- git checkout
- git checkout 1.0 切換到分支1.0
- git checkout master 切換回主幹
git版本徹底回退
- git checkout 1.0 先切換分支
- git branch -d master 刪除主幹代碼提示(若為活動分支則提示)
- git branch -D master 刪除分支不提示
- git branch master 重建空白主幹
git多人合作開發
單分支開發
- 項目經理或管理人員在服務器創建代碼庫
- git init test-project --bare
- 張三從服務器地址xxx克隆代碼
- git clone xxx
- 張三在本地test-project中寫代碼
- 可以git add和git commit到本地倉庫
- 張三最終寫好後, 先上傳到服務器
- git push origin master:master
- 將本地的master分支上傳到服務器的master分支, 如果服務器沒有該分支則自動創建
- 李四如果在張三後向master提交代碼, 則必須先將本地代碼與master同步後才能提交
- git push origin master:master
- 李四後提交代碼
- git pull 先同步服務器上前人的代碼
- git push origin master:master 再上傳自己的代碼
多分支開發
- 張三李四分別在test-project建立自己的分支並開發, push到自己的分支上
- 管理人員進行分支合並
- git merge origin/zhangsan ^o, ^s 保存修改
- git merge origin/lisi 合並lisi代碼到當前分支
- merge沖突
- 張三李四同時修改同一個地方的代碼, 會出現沖突
- 此時需要溝通保留誰的代碼, 並手動處理沖突
- 遇到裏程碑版本則建立版本分支
- git branch v2.0
- git push origin v2.0:v2.0
- 張三李四則在裏程碑版本上再修改
- git merge origin/v2.0
- 缺點
- 分支多了以後, 管理混亂
- 註意: 管理中應明確分支的意義
git其他命令
- 多倉庫保存
- git remote add myserver http://xxx.com 添加一個倉庫服務器
- git remote del myserver 刪除一個倉庫服務器myserver
- 刪除服務器分支
- git push origin :v2.0 將一個空分支push到v2.0覆蓋掉
版本管理工具git與svn簡介