1. 程式人生 > >Git 本地倉庫常用操作

Git 本地倉庫常用操作

1.安裝git

在Ubuntu上安裝git

sudo apt-get install git

2.初始化git 

#告訴git,自己的名字與郵箱
git config --global user.name "Your Name"
git config --global user.email "[email protected]"

3.安裝完後,在Ubuntu中建立版本庫

#建立git倉庫檔案
cd /root/xichuan
mkdir git
cd git
#初始化倉庫,告訴git,/root/xichuan/git就是版本倉庫
git init    

 

4.嘗試在倉庫中新增一個檔案,並提交到本地倉庫

touch test.txt
#將檔案新增到暫存區
git add test.txt
#git status命令可以讓我們時刻掌握倉庫當前的狀態
git status
#進行提交, -m後面輸入的是本次提交的說明,可以輸入任意內容,當然最好是有意義的
git commit -m "this is the first doc"  

#這樣就將所建立的檔案提交到本地倉庫上了

 

5.再次在檔案中新增文字

#在test.txt中新增一行文字
vi /test.txt
this is the test word!
##會發現git提示readme.txt檔案被修改
git status   

##git告訴我們,test.txt修改了哪幾行
git diff test.txt 

#提交本次操作
git add test.txt
git commit -m 'this is the second connit'

 

6.版本回退

#檢視提交日誌
git log
#檢視簡潔的回退資訊
git log --pretty=oneline

 

#回退到上一次提交
git reset --hard HEAD^

#會退到任一節點
#git reset --hard 'commintId'  #commintId 是在git log命令查詢的

我們繼續使用git log命令:

 

發現第二次提交的記錄已經不見了,此時我們想取消版本回退怎麼辦?

使用git reflog命令查詢我們命令操作記錄,上面會有對應的每次操作的commitId

#git reflog       #第一排是commitId
git rest --hard 'a588b5f'    #此commitId是git reflog查詢得到的

 

7.撤銷修改

git checkout -- test.txt   ##取消修改


兩種情況:
一種是test.txt自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;
一種是test.txt已經新增到暫存區後,又作了修改,現在,撤銷修改就回到新增到暫存區後的狀態。

 

演示第二種情況:

1.先在test.txt中新增文字:this is the second word!!!

2.新增暫存區:

 

3.在test.txt檔案中再新增文字:this is the third word!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

4.撤銷修改:git checkout -- test.txt

發現,工作區檔案的內容和第一次提交後在暫存區的內容一樣

但使用git status 命令發現,檔案還在暫存區中

把暫存區的修改回退到工作區:git reset HEAD test.txt

git reset HEAD test.txt

 

8.刪除檔案

rm test.txt  #先將工作區的檔案刪除
git status   #檢視狀態
#git checkout -- test.txt   #可選此命令,將刪掉的test.txt從版本庫中恢復出來
git rm text.txt  #告訴git暫存區將test.txt檔案刪除
#git rest HEAD test.txt  #可選此命令,取消git刪除
git commit -m 'rm test.txt'   #提交此刪除操作


命令總結:

git config --global user.name "Your Name"            #初始化姓名
git config --global user.email "[email protected]"   #初始化郵箱


git init   #建立本地倉庫


git add test.txt  #將新增操作提交到暫存區
git rm text.txt   #將刪除操作提交到暫存區
git diff test.txt #檢視工作區與本地倉庫的不同
git status        #檢視倉庫狀態
git commit -m "co.."  #將修改提交到本地倉庫


git log  #檢視提交日誌
git log --pretty=oneline   #檢視提交的簡潔日誌
git reflog   #檢視操作日誌


git reset --hard HEAD^    #回退到上次提交
git rest --hard 'commitId'   #會退到指定的提交節點


git checkout -- readme.txt  #撤銷修改
git reset HEAD readme.txt   #把暫存區的修改回退到工作區
 

#---------遠端倉庫後的操作
git clone [email protected]:/home/git/mytest   #克隆遠端倉庫
git push origin master                         #提交到遠端倉庫



#-------分支管理的操作
git checkout -b dev  ##建立並切換為dev分支

git branch dev   #建立dev分支
git checkout dev #切換到dev分支

git branch   #檢視所有分支
#git checkout master #切換到master分支 

git merge dev  #將dev分支的程式碼合併到當前分支

git branch -d dev #刪除dev分支

 

資料:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000