Git
- GIT是一款自由和開源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項目
工作區(qū)(Working Directory): 倉庫文件夾里面, 除了.git目錄以外的內(nèi)容
版本庫(Repository):.git目錄, 用于存儲記錄版本信息
- 版本庫中的暫緩區(qū)(staga):
- 版本庫中的分支(master): git自動創(chuàng)建的第一個分支
- 版本庫中的HEAD指針:用于指向當(dāng)前分支
學(xué)習(xí)網(wǎng)站: https://backlog.com/git-tutorial/cn/
單人開發(fā)
- 在工作區(qū)中的打開git終端
- 通過git init指令, 初始化版本庫
- 編寫代碼
- 將編寫的代碼通過git add .(或git add 文件名) 添加到版本庫的暫緩區(qū)中
- 通過git commit -m"說明" 將暫緩區(qū)的文件添加到HEAD指針指向的分支中(默認(rèn)為master分支)
- 通過git log查看我們每次添加修改的內(nèi)容
- 通過git diff查看當(dāng)前文件和版本庫中文件的差異
- 通過git reset --hard 版本號 在任意版本之間切換
GIT設(shè)置配置信息
配置用戶名:git config user.name "用戶名"(用于跟蹤修改記錄)
配置郵箱:git config user.email "郵箱"(用于多人開發(fā)間的溝通)
git config -l : 查看配置信息
git config -e : 編輯配置信息
git status :查文件的狀態(tài)
查看某個文件的狀態(tài):git status 文件名
查看當(dāng)前路徑所有文件的狀態(tài):git status
git add :將工作區(qū)的文件保存到暫緩區(qū)
保存某個文件到暫緩區(qū):git add 文件名
保存當(dāng)前路徑的所有文件到暫緩區(qū):git add .(注意,最后是一個點 . )
git commit:將暫緩區(qū)的文件提交到當(dāng)前分支
提交某個文件到分支:git commit -m ”注釋” 文件名
保存當(dāng)前路徑的所有文件到分支:git commit -m ”注釋”
git log :查看文件的修改日志
查看某個文件的修改日志:git log 文件名
查看當(dāng)前路徑所有文件的修改日志:git log
用一行的方式查看簡單的日志信息:git log ––pretty=oneline
查看最近的N次修改:git log –N(N是一個整數(shù))
git diff :查看文件最新改動的地方
查看某個文件的最新改動的地方:git diff 文件名
查看當(dāng)前路徑所有文件最新改動的地方:git diff
git reflog :查看分支引用記錄(能夠查看所有的版本號)
git rm:刪除文件(刪完之后要進行commit操作,才能同步到版本庫)
git reset:版本回退(建議加上––hard參數(shù),git支持無限次后悔)
回退到上一個版本:git reset ––hard HEAD^
回退到上上一個版本:git reset ––hard HEAD^^
回退到上N個版本:git reset ––hard HEAD~N(N是一個整數(shù))
回退到任意一個版本:git reset ––hard 版本號(版本號用7位即可)
Git忽略提交規(guī)則 - .gitignore配置
多人開發(fā)
- 項目負(fù)責(zé)人在服務(wù)器上,的工作區(qū)中打開git終端
- 通過git init --bare,初始化一個共享的版本庫
- 項目負(fù)責(zé)人告訴開發(fā)人員, 當(dāng)前項目的版本庫路徑(URL)
- 開發(fā)人員通過 git lone從遠(yuǎn)程服務(wù)器下載共享的版本庫到本地
- 編寫代碼
- 將編寫的代碼通過git add . 添加到版本庫的暫緩區(qū)中
- 通過git commit -m"說明" 將暫緩區(qū)的文件添加到HEAD指針指向的分支中
注意點: 一定不要將不能運行的代碼提交到遠(yuǎn)程的版本庫交到遠(yuǎn)程服務(wù)器的操作不會那么頻繁,一般情況下一天最多兩次
- 通過git push 將本地編寫好的代碼提交到遠(yuǎn)程服務(wù)器的版本庫
- 其它開發(fā)人員可以通過git clone或者git pull從遠(yuǎn)程服務(wù)器獲取最新的代碼
git branch : 查看所有分支
git branch 分支名稱 : 查看所有分支
新創(chuàng)建的分支中的內(nèi)容和master分支中的內(nèi)容一樣
git checkout 分支名稱 : 切換到指定分支
git merge 分支名稱 : 合并分支
將當(dāng)前所在分支和指定名稱分支進行合并
git branch -d 分支名稱 : 刪除指定分支
不能在當(dāng)前分支中刪除自己
注意點
- 在企業(yè)開發(fā)中, 如果有其它同事往服務(wù)器提交了新的代碼, 那么我們就沒辦法直接提交,如果我們想要提交,那么我們必須先將服務(wù)器的代碼更新到本地
- 更新到本地之后,如果沒有代碼沖突, 那么可以直接提交
- 更新到本地之后,如果有代碼沖突,那么必須先手動解決了沖突,才能提交
- 在企業(yè)開發(fā)中,一定要記住,千萬被好幾天都不提交代碼.某個模塊實現(xiàn)了就立即提交到遠(yuǎn)程服務(wù)器