git學習常用命令

2021-08-24 17:45:57 字數 3727 閱讀 7720

git基本命令

第一次提交需要設定使用者名稱和郵箱

git config --

global user.name "yang"

git config --

global user.email "[email protected]"

git init //初始化git

git diff //可以看到差異性檔案

git add ./filename //提交到版本庫放入暫存

git commit -m

"備註"

//提交到版本庫

git remote add origin //關聯遠端倉庫

git remote rm origin//刪除遠端倉庫關聯

git remote -v

//檢視已關聯遠端庫

git push -u origin master //提交到遠端倉庫 第一次以後用:git push origin master

也可以直接轉殖遠端倉庫

git clone 遠端倉庫位址

建立分支

1.git branch[option][name]

如果不加任何引數,他可以用來檢視所有的分支,而在分支前面有*標記的則為當前分支,如果加上name為新建立分支,如git branch child,這時新建立了乙個名為child的分支,

-v 用於檢視各個分支的最後一次commit的資訊

-d 刪除分支

-r 檢視遠端主機分支

-a 檢視所有分支

1.在遠端建立分支

git branch 分支名字 //先建立本地分支 git push origin 分支名字 // 本地分支提交到遠端

2.刪除遠端分支 ::git push origin -d 分支名字

3.刪除本地分支 : git branch -d 分支名字

git push origin 分支名稱 //把建立的本地分支提交到遠端

git checkout 分支名稱 //切換分支

git checkout -b 分支名稱 //建立並切換到該分支

日誌檢視兩種檢視方式 第二種看的更清爽

1.git log

2.git log –pretty=oneline

時光穿梭機版本回退

head指向的版本就是當前版本,因此,git允許我們在版本的歷史之間穿梭,使用命令git reset –hard commit_id。

穿梭前,用git log可以檢視提交歷史,以便確定要回退到哪個版本。

要重返未來,用git reflog檢視命令歷史,以便確定要回到未來的哪個版本。

撤銷修改

git

checkout--

bb.txt

命令git checkout – bb.txt意思就是,把bb.txt檔案在工作區的修改全部撤銷,這裡有兩種情況:

一種是readme.txt自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;

一種是readme.txt已經新增到暫存區後,又作了修改,現在,撤銷修改就回到新增到暫存區後的狀態。

總之,就是讓這個檔案回到最近一次git commit或git add時的狀態。

刪除檔案

現在你有兩個選擇,一是確實要從版本庫中刪除該檔案,那就用命令git rm刪掉,並且git commit:

$ git rm test.txt

rm 'test.txt'

$ git commit -m "remove test.txt"

[master d46f35e] remove test.txt

1 file changed, 1 deletion(-)

delete mode 100644 test.txt

git push origin 遠端檔案更新

衝突問題

假如我們新建乙個分支,在上面修改了乙個檔案之後提交。這個時候同事在主分支上也修改了這個檔案,提交了。這個合併分支就會出現衝突。

出現衝突必須手動解決衝突,

解決衝突就是把git合併失敗的檔案手動編輯為我們希望的內容,再提交。

用git log –graph命令可以看到分支合併圖。

分支管理策略

1.一般合併分支的時候都使用git merge + 被合併分支名稱。這時git會用fast forward模式這種模式會丟掉分支資訊。

2.如果要強制禁用掉fast forward模式,git就會在merge時生成乙個新的commit,保留下分支的資訊。

首先建立乙個叫fenzhi分支

git checkout -b dev

switched to

anew branch 'dev'

修改裡面乙個叫zx.txt檔案提交

git add zx.txt

git commit -m "修改zx"

然後切換會master分支

git checkout master
準備把dev上的資訊合併到master分支上,這裡注意–no–ff 引數 加上這個引數合併時保留分支資訊

git merge --no--ff -m "用no方式合併分支,保留分支資訊" dev

注意在實際開發中,我們應該按照幾個基本原則管理分支,

保證master分支時穩定的,然後建立乙個工作分支,大家都在工作分支上幹活,工作分支是不穩定的,隨時接受新的合併。你和你的小夥伴都有自己的分支,幹完活之後合併到工作分支上去。什麼時候合併到主分支呢,比如發布版本的時候,我們把工作分支合併到主分支上

總結:git分支功能十分強大,在團隊開發中應該充分應用,在合併分支的時候加上–no–ff引數合併時可以保留合併後的歷史分支,而用fast forward合併就看不出來曾經做過合併

bug分支

軟體開發當中bug像家常便飯一樣會經常出現,有了bug需要修復,但是你這時正在開發程式,預計一天才能開發完,但是這個bug馬上就需要你修改,怎麼辦?

這個時候你可以用git當中的乙個命令,先把工作現場儲存起來,修復完bug之後再來繼續幹活

git stash
修復bug時,我們會通過建立新的bug分支進行修復,然後合併,最後刪除;

當手頭工作沒有完成時,先把工作現場git stash一下,然後去修復bug,修復後,再git stash pop,回到工作現場。

多人協作標籤管理

在git中打標籤非常簡單 如下命令

git tag 標籤名稱

預設給當前最新的commit打標籤

如果想給歷史提交打標籤,查到歷史commit的id號

git tag 標籤名稱 commitid // 這樣就可以了

檢視標籤 git tag

搭建git伺服器

Git學習 git常用命令

我們常用 p 選項展開顯示每次提交的內容差異,用 2 則僅顯示最近的兩次更新 還有許多摘要選項可以用,比如 stat,僅顯示簡要的增改行數統計 p 按補丁格式顯示每個更新之間的差異。stat 顯示每次更新的檔案修改統計資訊。shortstat 只顯示 stat 中最後的行數修改新增移除統計。name...

git常用命令學習

1.提交專案 1.遠端建立專案 git clone 鏈結 拷貝下來 git add 增加的檔案 新增本地新增內容 git commit m 注釋 或者 a進入圖形介面寫入注釋 git push original master 將本地檔案提交遠端倉庫 當我們後續改變公升級專案後,再次提交如下 git ...

Git 常用命令學習

學習了網上一些git的資料 包括廖雪峰的教程 總結一下 1 git和svn命令的對比 git clone svn checkout git checkout svn switch git push svn commit 2 git add readme.txt 是把readme.txt從worksp...