Git學習筆記(持續更新)

目錄

1、起步

1.1、關於版本控制

1.2、Git簡史

1.3、什麼是Git?

1.4、命令行

1.5、安裝Git

1.6、初次運行Git前的配置

1.7、獲取幫助

2、Git基礎

2.1獲取 Git 倉庫

2.2記錄每次更新到倉庫

2.3查看提交歷史



1、起步

1.1、關於版本控制

Q:什麼是“版本控制”?

A:版本控制是記錄文件內容變化,以便將來查閱特定版本修訂情況的系統,常用於源代碼的文件。

Q:我爲什麼要關心它呢?

A:項目做了一段時間,突然心血來潮,決定使用Git來進行版本控制,同時也是爲了學習Git的使用。

1.2、Git簡史

引用鏈接:https://www.git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-Git-%E7%AE%80%E5%8F%B2

1.3、什麼是Git?

特點:

(1)直接記錄快照,而非差異比較

(2)近乎所有操作都是本地執行

(3)保證完整性

(4)一般只添加數據

三種狀態:

已提交(committed):已修改表示修改了文件,但還沒保存到數據庫中。

已修改(modified):已暫存表示對一個已修改文件的當前版本做了標記,使之包含在下次提交的快照中。

已暫存(staged):已提交表示數據已經安全地保存在本地數據庫中。

工作流程:

(1)在工作區中修改文件。

(2)將你想要下次提交的更改選擇性地暫存,這樣只會將更改的部分添加到暫存區。

(3)提交更新,找到暫存區的文件,將快照永久性存儲到 Git 目錄。

1.4、命令行

可選:

--原生的命令行模式

--GUI 模式

由於只有在命令行模式下才能執行 Git 的 所有命令,因此從命令行開始學習~

1.5、安裝Git

Linux:

sudo dnf install git-all

或者

sudo apt install git-all

Windows:

下載Git-2.26.0-rc0-64-bit.exe,安裝。

1.6、初次運行Git前的配置

安裝完 Git 之後的第一件事:設置用戶名和郵件地址

git config --global user.name "John Doe"
git config --global user.email [email protected]

安裝完 Git 之後的第二件事:檢查配置信息

C:\Users\ASUS>git config --list
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
http.sslbackend=openssl
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=false
core.editor="C:\\Program Files\\Notepad++\\notepad++.exe" -multiInst -notabbar -nosession -noPlugin
credential.helper=manager
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
user.name=<E5><91><86><E7><BA><B8>
[email protected]

1.7、獲取幫助

找到Git命令綜合手冊的三種等價方法:

git help <verb>
git <verb> --help
man git-<verb>

例如,要想獲得 git config 命令的手冊,執行:

git help config

此外,如果你不需要全面的手冊,只需要可用選項的快速參考

git add -h

 

2、Git基礎

2.1獲取 Git 倉庫

通常有兩種獲取 Git 項目倉庫的方式:

--在已存在目錄中初始化倉庫

cd /c/user/my_project
git init
git add *.py
git commit -m 'initial project version'

--克隆現有的倉庫

git clone <url>

2.2記錄每次更新到倉庫

--檢查當前文件狀態

git status

--跟蹤新文件

git add <files>

--暫存已修改的文件

git add <files>
//運行了 git add 之後又作了修訂的文件,需要重新運行 git add 把最新版本重新暫存起來

--忽略文件

例如創建一個名爲 .gitignore 的文件,列出要忽略的文件的模式

$ cat .gitignore
# 忽略所有的 .a 文件
*.a

# 但跟蹤所有的 lib.a,即便你在前面忽略了 .a 文件
!lib.a

# 只忽略當前目錄下的 TODO 文件,而不忽略 subdir/TODO
/TODO

# 忽略任何目錄下名爲 build 的文件夾
build/

# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/*.txt

# 忽略 doc/ 目錄及其所有子目錄下的 .pdf 文件
doc/**/*.pdf

針對不同語言的gitignore文件列表:https://github.com/github/gitignore

--查看已暫存和未暫存的修改

git diff

此命令比較的是工作目錄中當前文件和暫存區域快照之間的差異。 也就是修改之後還沒有暫存起來的變化內容。

若要查看已暫存的將要添加到下次提交裏的內容,可以用 git diff --staged 命令。

--提交更新

git commit -m "提交說明"

--跳過使用暫存區域

git commit -a -m '提交說明'

--移除文件

//從暫存區域移除
git rm <file>
//刪除之前修改過或已經放到暫存區的文件
git rm -f <file>
//從暫存區域移除,但不刪除該文件
git rm --cached <file>

--移動文件

Git 並不顯式跟蹤文件移動操作,如果在 Git 中重命名了某個文件,倉庫中存儲的元數據並不會體現出這是一次改名操作。

git mv file_from file_to

2.3查看提交歷史

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章