Git 常用命令記錄

1、簡介

git是什么?

分布式的版本控制系統(tǒng)

git的優(yōu)點(diǎn):

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

這是 Git 與幾乎所有其它版本控制系統(tǒng)的重要區(qū)別,也保證了git的高效

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

  在不聯(lián)網(wǎng)的狀態(tài)下也可以順利完成大部分的工作

3、保證完整性

  Git 中所有數(shù)據(jù)在存儲前都計算校驗和,然后以校驗和來引用;若你在傳送過程中丟失信息或損壞文件,Git 就能及時發(fā)現(xiàn)

4、一般只添加數(shù)據(jù)

  可以盡情做各種嘗試,而沒有把事情弄糟的危險

基本的 Git 工作流程:

1、在工作目錄中修改文件。

2、暫存文件,將文件的快照放入暫存區(qū)域。

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

image

Git 倉庫目錄:
--用來保存項目的元數(shù)據(jù)和對象數(shù)據(jù)庫的地方。 Git中最重要的部分,克隆倉庫時,拷貝的就是這里的數(shù)據(jù)。

工作目錄:
--是對項目的某個版本獨(dú)立提取出來的內(nèi)容。 這些從 Git 倉庫的壓縮數(shù)據(jù)庫中提取出來的文件,放在磁盤上供你使用或修改。

暫存區(qū)域:
--是一個文件,保存了下次將提交的文件列表信息,一般在 Git 倉庫目錄中。

2、安裝Git

在使用 git 之前,首先需要將它安裝在你的計算機(jī)上。如已經(jīng)安裝,最好將它升級到最新的版本。

可以通過軟件包或者其它安裝程序來安裝,或者下載源碼編譯安裝:

# ubuntu
$ sudo apt-get install git

3、初次運(yùn)行 Git 前的配置

  • 定制Git 環(huán)境

Git 自帶一個 git config 的工具來幫助設(shè)置控制 Git 外觀和行為的配置變量。 這些變量存儲在三個不同的位置

1)、/etc/gitconfig 文件: 包含系統(tǒng)上每一個用戶及他們倉庫的通用配置。 
    --如果使用帶有 --system 選項的 git config 時,它會從此文件讀寫配置變量。

2)、~/.gitconfig 或 ~/.config/git/config 文件:只針對當(dāng)前用戶。 
    --可以傳遞 --global 選項讓 Git 讀寫此文件。

3)、當(dāng)前使用倉庫的 Git 目錄中的 config 文件(就是 .git/config):針對該倉庫。

#注意:每一個級別覆蓋上一級別的配置,所以 .git/config 的配置變量會覆蓋 /etc/gitconfig 中的配置變量。

  • 用戶信息

設(shè)置你的用戶名稱與郵件地址:

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

  • 配置文本編輯器

通過如下命令配置默認(rèn)文本編輯器:

$ git config --global core.editor gedit

  • 檢查配置信息

可以使用如下命令來列出所有 Git 當(dāng)時能找到的配置

git config --list

  • 忽略文件

通常有些自動生成的文件,比如日志文件,或者編譯過程中創(chuàng)建的臨時文件等,無需納入 Git 的管理,也不希望它們總出現(xiàn)在未跟蹤文件列表。

在這種情況下,我們可以創(chuàng)建一個名為 .gitignore 的文件,列出要忽略的文件模式。

$ cat .gitignore
*.[oa]
*~

4、常用命令

  • 幫助命令

git help
--用來顯示任何命令的 Git 自帶文檔。
--對于每一個命令的完整的可選項及標(biāo)志列表,你可以隨時運(yùn)行 git help <command> 命令來了解

  • 在現(xiàn)有目錄中初始化倉庫

git init

  • 克隆現(xiàn)有的倉庫

git clone [url]

  • 檢查當(dāng)前文件狀態(tài)

git status

  • 跟蹤新文件/暫存已修改文件

git add

  • 查看文件具體修改

git diff
--將通過文件補(bǔ)丁的格式顯示具體哪些行發(fā)生了改變

  • 提交命令

git commit

  • 移除文件

git rm

  • 查看提交歷史

git log
-p,用來顯示每次提交的內(nèi)容差異
-2, 來僅顯示最近兩次提交

  • 撤消對文件的修改

git checkout --

  • 查看分支

git branch

  • 創(chuàng)建分支

git branch <name>

  • 切換分支

git checkout <name>
git switch <name>

  • 創(chuàng)建+切換分支

git checkout -b <name>
git switch -c <name>

  • 合并某分支到當(dāng)前分支

git merge <name>

  • 刪除分支

git branch -d <name>

  • 查看遠(yuǎn)程庫信息

git remote -v

  • 從本地推送分支

git push origin branch-name
--如果推送失敗,先用git pull抓取遠(yuǎn)程的新提交

  • 在本地創(chuàng)建和遠(yuǎn)程分支對應(yīng)的分支

git checkout -b branch-name origin/branch-name

  • 建立本地分支和遠(yuǎn)程分支的關(guān)聯(lián)

git branch --set-upstream branch-name origin/branch-name

  • 從遠(yuǎn)程抓取分支

git pull
--如果有沖突,要先處理沖突

(待更新)

參考資料:

https://www.liaoxuefeng.com/wiki/896043488029600

https://www.progit.cn/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容