Git學習(狂神聊Git)

2021-10-18 17:14:11 字數 3220 閱讀 8324

git工作流

git實操

git本地有三個工作區域:

檔案結構如下:

檔案在這四個區域之間的轉換關係如下:

檢視不同級別的配置檔案:

#檢視所有配置

git config -l

#檢視系統config

git config --system --list

#檢視當前使用者(global)配置

git config --global --list

相關的配置檔案所在位置:

1)git\etc\gitconfig :git 安裝目錄下的 gitconfig --system 系統級

2)c:\users\administrator\ .gitconfig 只適用於當前登入使用者的配置 --global 全域性

設定使用者名稱與郵箱(使用者標識,必要)

當你安裝git後首先要做的事情是設定你的使用者名稱和e-mail位址。這是非常重要的,因為每次git提交都會使用該資訊。它被永遠的嵌入到了你的提交中:

#設定自己的配置

git config --global user.name "abc"

#名稱git config --global user.email [email protected] #郵箱

只需要做一次這個設定,如果你傳遞了–global 選項,因為git將總是會使用該資訊來處理你在系統中所做的一切操作。如果你希望在乙個特定的專案中使用不同的名稱或e-mail位址,你可以在該專案中執行該命令而不要–global選項。總之–global為全域性配置,不加則為某個專案的特定配置。

版本控制就是對檔案的版本控制,要對檔案進行修改、提交等操作,首先要知道檔案當前在什麼狀態,不然可能會提交了現在還不想提交的檔案,或者要提交的檔案沒提交上。

檔案有四種狀態:

#檢視指定檔案狀態

git status [filename]

#檢視所有檔案狀態

git status

git add . 新增所有檔案到暫存區

git commit -m "訊息內容" 提交暫存區中的內容到本地倉庫, -m + 提交資訊

有些時候我們不想把某些檔案納入版本控制中,不想提交的,比如資料庫檔案,臨時檔案,設計檔案等

在主目錄下建立".gitignore"檔案,此檔案有如下規則:

忽略檔案中的空行或以井號(#)開始的行將會被忽略。

可以使用linux萬用字元。例如:星號(*)代表任意多個字元,問號(?)代表乙個字元,方括號([abc])代表可選字元範圍,大括號()代表可選的字串等。

如果名稱的最前面有乙個感嘆號(!),表示例外規則,將不被忽略。

如果名稱的最前面是乙個路徑分隔符(/),表示要忽略的檔案在此目錄下,而子目錄中的檔案不忽略

如果名稱的最後面是乙個路徑分隔符(/),表示要忽略的是此目錄下該名稱的子目錄,而非檔案(預設檔案或目錄都忽略)。

#為注釋

*.txt #忽略所有 .txt結尾的檔案,這樣的話就不會上傳.txt檔案!

!lib.txt #但lib.txt除外

/temp #僅忽略專案根目錄下的todo檔案,不包括其它目錄temp

build/ #忽略build/目錄下的所有檔案

doc/*.txt #會忽略 doc/notes.txt 但不包括 doc/server/arch.txt

git的工作流程一般是這樣的:

在工作目錄中新增、修改檔案

將需要進行版本管理的檔案放入暫存區域(git add .)

將暫存區域的檔案提交到本地 git倉庫(git commit)

因此,git管理的檔案有三種狀態:已修改(modified),已暫存(staged),已提交(committed)

建立本地倉庫的方法有兩種:一種是建立全新的倉庫,另一種是轉殖遠端倉庫。

建立全新的倉庫,需要用git管理的專案的根目錄執行:

#在當前目錄新建乙個git**庫

git init

執行後可以看到,僅僅在專案目錄多出了乙個.git目錄,關於版本等的所有資訊都在這個目錄裡面。

另一種方式是轉殖遠端目錄,由於是將遠端伺服器上的倉庫完全映象乙份至本地。

#轉殖乙個專案和它的整個**歷史(版本資訊)

git clone [url]

幾乎所有的版本控制系統都以某種形式支援分支。 使用分支意味著你可以把你的工作從開發主線上分離開來,以免影響開發主線。

git分支中常用指令:

# 列出所有本地分支

git branch

# 列出所有遠端分支

git branch -r

# 新建乙個分支,但依然停留在當前分支

git branch [branch-name]

# 切換分支

git checkout -b [branch]

# 將指定分支合併到當前分支

$ git merge [branch]

# 刪除分支

$ git branch -d [branch-name]

# 刪除遠端分支

$ git push origin --delete [branch-name]

$ git branch -dr [remote/branch]

如果同乙個檔案在合併分支時都被修改了則會引起衝突:解決的辦法是我們可以修改衝突檔案後重新提交!選擇要保留他的**還是你的**!

master主分支應該非常穩定,用來發布新版本,一般情況下不允許在上面工作,工作一般情況下在新建的dev分支上工作,工作完後,比如上要發布,或者說dev分支**穩定後可以合併到主分支master上來。

狂神說 GIT課程筆記

工作區域 git本地有三個工作區域 工作目錄 working directory 暫存區 stage index 資源庫 repository git directory 工作流程 在工作目錄中新增 修改檔案 將需要進行版本管理的檔案放入暫存區域 將暫存區域的檔案提交到git倉庫 本地倉庫搭建 建立...

Git學習 安裝Git與認識Git

git官網位址 然後傻瓜式安裝即可,一路next 開啟命令列 win r 輸入cmd,就可以開啟 輸入 git config global user.name 使用者名稱 git config global user.email 郵箱 來區分不同開發人員的身份 使用 git config list ...

git學習 Git 基礎要點

簡單地說,git 究竟是怎樣的乙個系統呢?請注意,接下來的內容非常重要,若是理解了 git 的思想和基本的工作原理,用起來就會知其所以然,游刃有餘。在開始學習 git 的時候,請不要嘗試把各種概念和其他的版本控制系統諸如 subversion 和 perforce 等相比擬,否則容易混淆每個操作的實...