關於GIT

最近公司使用了新的版本控制工具Git, 今天正好有時間進行一下總結。衆所周知,Git是一款開源的分佈式版本控制工具(區別於SVN的集中式,分散式版本控制系統和集中式版本控制系統,其最大差別在於前者的倉庫可以有多份。事實上,每個開發者都可以在自己的一臺或者多臺電腦上建立檔案庫), 在所有分佈式版本控制工具中,git可以說是最快,最簡單,最流行的。但是正因如此,它的安全性有一些問題, 所以需要搭建自己公司的服務器來保證代碼的保密性,我公司採用stash建立git服務器,來防止代碼的泄漏。

git的工作流程:

通過圖片可以看出,git工作所要經過的三個部分可以分爲: 共享版本庫(即服務器端),開發人員本地代碼,本地倉庫。接下來說一下用到的基本命令和所起的作用:

1. Clone: 從遠程共享版本庫下載下全部的代碼(和SVN的Check out類似)。

2. Commit: 將本地修改的代碼提交到本地倉庫 (這一步是SVN沒有的,也是版本集中式和分佈式的主要區別所在)

3. Pull: 將遠程共享版本庫的代碼更新到本地 (相當於SVN的update)

4. Push: 將本地倉庫修改的代碼提交到遠程共享版本庫。(相當於SVN的commit)

git的基本命令

1. 初始化一個git倉庫:git init

2. 如果使用GIT必須給GIT配置用戶名和郵箱,給當前的git倉庫配置用戶名和郵箱:git config user.name "Alan",  git config user.email "[email protected]"(也可以配置全局郵箱:git config --global user.name "Alan",  git config --global user.email "[email protected]", git在搜索郵箱時會優先搜索當前的用戶名和郵箱,找不到再搜索全局的)

3. 初始化項目:

touch main.m: 創建了main.m文件

git add main.m: 將main.m添加到暫緩區

git commit -m "初始化項目": 將所在暫緩區的所有內容提交到本地倉庫,並清空暫緩區(這行命令最後一定要加註釋"")

4.查看文件狀態

git status

紅色: 該文件被添加或修改,但是沒有添加到git的暫緩區

綠色: 該文件在暫緩區,但是沒有提交到本地版本庫

GIT的工作原理

如果想要了解git的工作原理,需要先知道幾個核心概念

工作區(Working Directory):倉庫文件夾裏除.git目錄以外的內容

版本庫(Repository):.git目錄,用來存儲記錄版本信息(暫緩區(stage), 分支(master):git自動創建的第一個分支, HEAD指針:用於指向當前分支)

git add和git commit原理:

git add: 把修改的文件或新添加的文件添加到緩存區

git commit: 把暫緩區的所有內容提交到當前分支

給命令行起別名

git config alias.st "status"

git config alias.ci "commit -m"

刪除文件

git rm person.m: 刪除person.m

查看版本信息

git log: 可以查看當前版本及之前的版本信息(不包括回退的,版本號是由sha1哈希算法生成的40位哈希值)

git reflog: 可以查看所有版本回退的操作(可以查看較多的版本)

版本回退

git reset --hard HEAD: 回到當前版本

git reset --hard HEAD^: 回到上一個版本

git reset --hard HEAD^^:回到上上個版本

git reset --hard HEAD~100: 回到前100個版本

git reset --hard 版本號(前五位即可,一般不會重複)

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章