git常用命令操作

目前市場主流的版本控制系統主要分爲:集中式版本控制系統與分佈式版本控制系統。
集中式版本控制目前主流的:SVN
分佈式版本控制系統目前主流的:Git

兩者之間的區別:

集中式有中央服務器,開發人員需要從中央服務器獲得最新版本的項目然後在本地開發,開發完推送到中央服務器中,因此無法脫離服務器。
分佈式沒有中央服務器,開發人員本地都有local repository
集中式必須要聯網才能工作,而且對網絡的依賴性較強,如果推送的文件比較大而且網絡狀態欠佳,則提交文件的速度會受到很大的限制。
分佈式在沒有網絡的情況下也可以執行commit、查看版本提交的記錄,以及分支操作,在有網絡的情況下執行push到 Remote Repository。
集中式提交的文件會直接記錄到中央版本庫,分佈式提交是本地操作,需要執行push操作纔會到主要版本庫。

Git工作過程圖:
本地庫與遠程庫交互的方式:
1、團隊內協作

    成員1創建本地庫,將代碼提交到遠程倉庫,成員2clone下代碼,加入團隊後纔可以進行push操作。

2、跨團隊協作

    團隊2可以fork團隊1的代碼,團隊2通過pull request之後,通過團隊1進行審覈。

Git配置:

項目級別的配置:

git config user.name  tom
git config user.email  [email protected]

修改的文件在:當前項目下.git/config
用戶級別的配置:

git config --global user.name tom
git config --global user.email [email protected]

Git命令:

創建倉庫:git init
查看狀態:git status

創建一個文件添加到git中
git add aa.txt 將aa.txt添加到git暫存區中。
git -rm --cached aa.txt:將aa.txt從暫存區刪除。

提交:git commit -m "添加新文件"
添加並提交:git commit -am "xxx" add並commit
查看提交記錄:git log    或者: git log --pretty=oneline  或者  git log --oneline  或者 git reflog

版本的前進與後退:git reset --hard 版本的索引值
版本的後退:只能後退:
git reset --hard HEAD^  後退一步
git reset --hard HEAD^^^        後退三步
git reset --hard HEAD~3     後退三步

--hard  --soft --mixed
--hard:工作區與暫存區與本地庫一起改變
--soft:工作區與暫存區不變,本地庫落後
--mixed:工作區不變,暫存區與本地庫落後

git reset --hard HEAD   將暫存區與工作區與本地庫狀態同步
在當前版本的中刪除了文件a.txt,然後查看git status,然後git add a.txt git commit -m 'delete'
當時,當前版本的中a.txt將不在存在,我們如果想找回,需要回到上一個版本中。纔可以找回。
對於刪除文件記錄提交到暫存區,想恢復:
git reset --hard HEAD   這個時候,會將暫存區與工作同的內容與本地庫進行同步操作。

--------前提是刪除前的狀態,提交到了git本地庫裏面。----------

比較文件差異:
git diff 文件名    默認是將當前工作區中的文件與暫存區中的文件進行比較的。
git diff HEAD 文件名   當前工作區與本地庫中的版本進行比較的。

分支操作:

創建分支:git branch dev
查看分支:git branch -v
切換分支:git checkout dev
合併分支:git checkout master git merge dev
合併分支衝突問題:當修改了相同的內容的時候,會產生衝突問題
產生衝突時,需要對產生衝突的文件進行手動的合併操作
合併完成後,git add xx
git commit -m "xxxx"    注意:此時不帶文件名。

git pull 從遠程上拉取項目,它相當於git foreach與git merge兩個命令的組合使用。

GitHub

git連接github
git remote origin xxxxxxx.git地址
git remote -v   查看
從服務器中拉取項目
從服務器中上傳項目
解決衝突問題。

git push origin master
git remote add origin 倉庫的地址

2、查詢用戶信息

git config --list

3、如果push遇到在輸入密碼是熟錯後,就會報這個錯誤fatal: Authentication failed for

解決辦法:

git config --system --unset credential.helper
之後你在push就會提示輸入名稱和密碼
所以我們需要先同步一下
git pull origin master

6、更新項目

     git push origin master

7、創建分支

     git checkout -b dev
     等於:
     git branch dev
     git checkout dev

8、切換分支

     git checkout dev

9、合併分支,在合併分支的時候,需要合併到哪個分支,就要先切換到哪個分支

     git checkout master
     git merge dev  合併分支
    git reset --hard dev;
    git pull --force origin master
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章