常用工具-Git

1. 版本控制VCS

答:版本控制是用來記錄文件內容變化,便於將來查閱特定版本修訂情況的系統。

1.1 必要性

答:在團隊協作時,能將文件/項目回溯到某一版本,還能查看是誰修改了代碼,從而找到鍋在誰那。

1.2 分類

1.2.1 本地版本控制

  • 複製整個項目目錄,手動增加版本號;
  • 本地數據庫記錄更新。

1.2.2 集中式版本控制

  • 一個集中管理的服務器,所有成員通過訪問此服務器獲得最新文件或者提交更新。SVN。
  • 單點宕機風險,必須聯網。

1.2.3 分佈式版本控制

  • 分佈式管理,每次clone都是完整的備份;
  • 不需聯網,每個Client都是一個版本庫,最後需要推送修改;
  • 分支管理。

2. Git

Git的圖形化工具用smartGit,可以很方便解決衝突。

2.1 介紹

2.1.1 特點

答:Git對於數據是記錄快照的方式。每次commit或stage,git會對全部文件製作一個快照並保存對快照的索引。文件沒有修改,就只保存指向原來文件的索引。

2.1.2 狀態

  • 已提交commit:數據已經保存在本地數據庫;
  • 已修改modified:修改了文件,但還沒提交入庫;
  • 已暫存staged:對已修改文件的當前版本做標記,能在之後提交時用。

2.1.3 工作區域

  • 版本庫:.git文件夾
  • 工作目錄:自己電腦上能看到的目錄;
  • 暫存區

2.1.4 工作流程

  • 在工作目錄修改文件;
  • git add 把文件修改添加到暫存區;
  • git commit把暫存區的所有內容提交到當前分支。

2.2 常用命令

2.2.1 初始化/拉取倉庫

//初始化倉庫
git init
//拉取遠程庫
git clone git@github.com:BarryBean/Sword2Offer.git

2.2.2 更新提交

//檢查當前文件狀態
git status
//所有文件加入暫存區
git add */.
//提交更新
git commit -m "日誌提交信息"
//移除文件
git rm filename

2.2.3 推送遠程倉庫

//本地庫和遠程庫連接
git remote add origin git@github.com:BarryBean/Sword2Offer.git
//推送遠程庫
git push origin master/任意分支

2.2.4 撤銷操作

//撤銷提交
git commit --amend
//取消暫存文件
git reset filename
//撤銷文件修改
git checkout -- filename

2.2.5 分支

//創建分支
git branch dev
//切換分支
git checkout feature-bys
//創建並切換
git checkout -b feature-bys
//合併分支,將分叉的分支合併一條
git rebase develop
//合併分支,手動解決衝突,--no-ff能保存本地分支的狀態
git merge --no-ff test
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章