初步瞭解git是什麼
文章目錄
1)概述
2)SVN與GIT的區別
3)創建版本庫
4)版本回退
5)工作區和暫存區
6)添加遠程庫
概述
- Git是什麼?
- Git是目前世界上最先進的分佈式版本控制系統
- SVN與GIT的區別:
- 1.GIT是分佈式的,而SVN是集中式的
- 2.GIT把內容按元數據方式存儲,而SVN是按文件:因爲git目錄是處於個人機器上的一個克隆版的版本庫,它擁有中心版本庫上所有的東西,例如標籤,分支,版本記錄等。
- 3.GIT分支和SVN的分支不同:svn會發生分支遺漏的情況,而git可以同一個工作目錄下快速的在幾個分支間切換,很容易發現未被合併的分支,簡單而快捷的合併這些文件。
- 4.GIT沒有一個全局的版本號,而SVN有
- 5.GIT的內容完整性要優於SVN:GIT的內容存儲使用的是SHA-1哈希算法。這能確保代碼內容的完整性,確保在遇到磁盤故障和網絡問題時降低對版本庫的破壞。
- 在Windows上安裝Git
- git 官網 下載安裝
- git for window
- 安裝完成之後進行設置
it config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
常用命令
創建版本庫
首先,選擇一個合適的地方,創建一個空目錄。
git init
- 初始化一個Git倉庫
git add filename
- 添加文件 可反覆使用,添加多個文件
- 把文件修改添加到暫存區
git commit -m "message"
- 提交更改
- 把暫存區的所有內容提交到當前分支
git status
- 工作區的狀態,是否有文件被修改
git diff
- 查看修改內容
版本回退
git log
- 查看提交歷史
- 可以加上 --pretty=oneline
git reset --hard commit_id
- 在各個版本之間穿梭
- HEAD 指向當前版本
- HEAD^指向上一個版本
- head~100 往上第一百個版本
git reflog
- 查看命令歷史
工作區和暫存區
-
工作區(Working Directory)
- 電腦裏能看到的目錄
-
版本庫(Repository)
- 隱藏目錄 .git
- 暫存區 stage
- 第一個分支 master
- 指向master的一個指針 HEAD
- 每次修改,如果不用git add 到暫存區,那就不會加入到commit中。
####撤銷修改
-
git checkout -- filename
- 丟棄工作區的修改
- 用版本庫裏的版本代替工作區的版本(無論是修改還是刪除)
-
git reset HEAD filename
- 回退到最新版本
添加遠程庫
git remote add origin git@server-name:path/repo-name.git
- 關聯一個遠程庫
git push -u origin master
- 第一次推送master分支的所有內容
git push origin master
- 推送最新修改
git clone
- 克隆一個倉庫
- git支持多種協議,包括https,通過ssh支持的原生git協議速度最快