Git基本用法(上)

2021-09-05 01:26:30 字數 3157 閱讀 7531

1.使用git的第一件事就是設定你的名字和email,這些就是你在提交commit時的簽名,每次提交記錄裡都會包含這些資訊。使用git config命令進行配置:

2.執行了上面的命令後,會在家目錄(/home/shiyanlou)下建立乙個叫.gitconfig 的檔案(該檔案為隱藏檔案,需要使用ls -al檢視到). 內容一般像下面這樣,可以使用vim或cat檢視檔案內容:——如下圖所示

3.上面的配置檔案就是git全域性配置的檔案,一般配置方法是git config --global 《配置名稱》 《配置的值》。

4.**p.s.?*如果你想使專案裡的某個值與前面的全域性設定有區別(例如把私人郵箱位址改為工作郵箱),你可以在專案中使用git config 命令不帶 --global 選項來設定. 這會在你當前的專案目錄下建立 .git/config,從而使用針對當前專案的配置。

1.可以對乙個已存在的資料夾用下面的命令讓它置於git的版本控制管理之下

進入到**目錄,建立並初始化git倉庫:

git會輸出:

通過ls -la命令會發現project目錄下會有乙個名叫.git 的目錄被建立,這意味著乙個倉庫被初始化了。可以進入到.git目錄檢視下有哪些內容。

**截圖見下圖——

git的基本流程如下:

1.建立或修改檔案

2.使用git add命令新增新建立或修改的檔案到本地的快取區(index)

3.使用git commit命令提交到本地**庫(可選,有的時候並沒有可以同步的遠端**庫)

4.使用git push命令將本地**庫同步到遠端**庫

需要使用-m新增本次修改的注釋,完成後就會記錄乙個新的專案版本。除了用git add 命令,我們還可以用下面的命令將所有沒有加到快取區的修改也一起提交,但-a命令不會新增新建的檔案。

再次輸入git status檢視狀態,會發現當前的**庫已經沒有待提交的檔案了,快取區已經被清空。

至此,我們完成了第一次**提交,這次提交的**中我們建立了三個新檔案。需要注意的是如果是修改檔案,也需要使用git add命令新增到快取區才可以提交。如果是刪除檔案,則直接使用git rm命令刪除後會自動將已刪除檔案的資訊新增到快取區,git commit提交後就會將本地倉庫中的對應檔案刪除

對於上述命令而言,git remote add 命令用於新增遠端主機,origin 是主機名,此處我們可以自定義,不一定非要使用 origin,而 是我自己的遠端倉庫,此處 需要替換為自己的遠端倉庫位址

這個時候如果本地的倉庫連線到了遠端git伺服器,可以使用下面的命令將本地倉庫同步到遠端伺服器:

執行git branch命令可以檢視當前的分支列表,以及目前的開發環境處在哪個分支上

檢視下file1中的內容會發現剛才做的修改已經看不到了。因為剛才的修改時在experimental分支下,現在切換回了master分支,目錄下的檔案都是master分支上的檔案了

檢視當前狀態

新增並提交file2的修改

檢視file2的內容

這時,兩個分支就有了各自不同的修改,分支的內容都已經不同,如何將多個分支進行合併呢?

可以通過下面的git merge命令來合併experimental到主線分支master:

由於兩個 branch 修改了兩個不同的檔案,所以合併時不會有衝突,執行上面的命令後合併就完成了。

如果有衝突,比如兩個分支都改了乙個檔案 file3,則合併時會失敗。首先我們在master分支上修改file3檔案並提交:

然後切換到experimental,修改file3並提交:

切換到experimental分支

修改file3檔案

提交到experimental分支

切換到master進行合併:

合併失敗後先用git status檢視狀態,會發現file3顯示為both modified,檢視file3內容會發現:(此處略去)

上面的內容也可以使用git diff檢視,先前已經提到git diff不加引數可以顯示未提交到快取區中的修改內容。

可以看到衝突的內容都被新增到了file3中,我們使用vim編輯這個檔案,去掉git自動產生標誌衝突的單向箭頭等符號後,根據需要只保留我們需要的內容後儲存,然後使用git add file3和git commit命令來提交合併後的file3內容,這個過程是手動解決衝突的流程。

提交修改後的檔案

**截圖如下所示——

如果提交的歷史紀錄很長,回車會逐步顯示,輸入q可以退出。

git log有很多選項,可以使用git help log檢視,例如下面的命令就是找出所有從"v2.5「開始在 fs 目錄下的所有 makefile 的修改(這個只是舉例,不用操作):

或者你也可以使用 short 格式:

你也可用medium,full,fuller,email 或raw。 如果這些格式不完全符合你的需求, 你也可以用–pretty=format引數定義格式。

–graph 選項可以視覺化你的提交圖(commit graph),會用ascii字元來畫出乙個很漂亮的提交歷史(commit history)線:

你也可以用 --reverse引數來逆向顯示所有提交日誌。

2.git clone:複製倉庫

3.git init:初始化倉庫

4.git add:新增更新內容到索引中

5.git diff:比較內容

6.git status:獲取當前專案狀況

7.git commit:提交

9.git checkout:切換分支

10.git merge:合併分支

11.git reset:恢復版本

12.git log:檢視日誌

git 基本用法

git相對於其他的版本控制,優勢在於分支管理。幾個常見情況及分支使用方法。1 對於自己的 修改後,卻已經不知道伺服器上的 是否已經發生改變。此時想上傳自己的 1 在master上建立分支mysrc 2 switch到mysrc分支,進行修改 3 修改好 後,進行git commit操作 4 swit...

GIT基本用法

下面是乙個在本地建立乙個git庫的步驟 1 初始化倉庫,並配置一些必要的變數 git init git config global user.name wensf git config global user.email wensf manridy.com 2 新增檔案過濾規則檔案 可選 檔名為 g...

Git基本用法

首次設定 git config global user.name 名字 git config global user.email email 複製 初始化git倉庫 目錄下沒有.git資料夾 git init 複製 git remote add origin 專案位址 複製 git clone 專案...