1. 程式人生 > >版本管理工具git與svn簡介

版本管理工具git與svn簡介

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 --help
    • git 幫助
  • git branch
    • git branch 1.0 分支1.0
      • 用於控制項目裏分支和程碑意義的版本, 避免commit的雜亂
    • git branch -a 查看分支版本
  • 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 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簡介