git常用命令解析

2021-12-30 13:21:27 字數 4022 閱讀 5326

概念:

工作區(working directory):將乙個資料夾通過git init設定成乙個git可以管理的資料夾(即:建立本地倉庫)時,這個資料夾裡的內容就是工作區。

版本庫(repository):在工作區中,有乙個.git資料夾,這個.git資料夾就是版本庫。

暫存區(stage/index):.git資料夾下的index檔案就是暫存區,用來暫時存放工作區中修改的內容。

.git目錄中的檔案:

index 暫存區

head 指向當前分支的乙個提交

refs/ 記錄著每個分支指向的提交

info/ 指定本專案要忽略的檔案

logs/ 記錄著git的操作日誌

objects/ git物件庫,用來儲存各種建立的物件以及內容。

命令: 設定git的使用者名稱和郵箱:

命令:git config

1)設定 /etc/gitconfig檔案,即作業系統上所有的使用者都使用的配置檔案:

git config --system user.name "jxn"

git config --system user.email "[email protected]"

2)設定 ~/.gitconfig檔案,即當前登入使用者使用的配置檔案:

git config --global user.name "jxn"

git config --global user.email "[email protected]"

3)設定 repository/.git/config檔案,即當前專案中使用的配置。注:必須先cd到乙個git repository目錄下,才能執行以下命令:

git config user.name "jxn"

git config user.email "[email protected]"

或git config --local user.name "jxn"

git config --local user.email "[email protected]"

4)檢視git使用者名稱和郵箱:

git config user.name

git config user.email

說明:1>如果是在某個git repository下使用該命令,則表示檢視當前專案中使用的git使用者, 查詢順序:.git/config --> ~/.gitconfig --> /etc/gitconfig

2>如果不是在某個git repository下使用該命令,則表示檢視當前登入使用者使用的git用, 查詢順序:~/.gitconfig --> /etc/gitconfig

說明:我們一般使用--global引數來設定git的使用者名稱和郵箱。

生成秘鑰:

ssh-keygen -t rsa -c "[email protected]"

clone分支:

使用http位址:

# 引數:

# git clone http://***.git clone master分支

# git clone -b 2.0.4 http://***.git clone 指定分支

使用ssh位址:

git clone [email protected]:***/***.git

# 引數:

# git clone [email protected]:***/***.git 埠為預設的22埠

# git clone ssh: 埠為非標準的22埠

檢視分支:

git branch

# 檢視當前分支

# 引數:

# git branch -r 檢視遠端所有分支

# git branch -a 檢視所有分支

# 說明:

# * 表示當前所在分支

刪除分支:

git branch -d 分支名稱

更新、提交、回退:

git pull

# 更新本地**(如果有衝突需要解決衝突)

git commit –m 本次提交的說明

# 將新增到暫存區的修改提交到本地倉庫。

# 注意:idea等ide工具在commit的時候,首先會將工作區的修改add到暫存區,然後再commit到本地倉庫。

git push

# 將本地倉庫中的修改push到遠端倉庫。

git log

# 檢視所有人的提交日誌

# 引數:

# git log --graph 檢視分支合併圖

# git log --pretty=oneline 檢視簡易日誌資訊:版本號+提交說明

git reflog

# 檢視自己執行過的所有命令

git status

# 檢視當前狀態:

# 如果發現紅色檔案,則表示該檔案未進入暫存區。

# 如果發現綠色檔案,則表示該檔案已經add到暫存區,但是還沒有commit。

# 檔案的三種狀態:

# untracked files: 工作區中未被跟蹤的檔案,一般是新建的檔案。

# changes not staged for commit: 修改後未add進暫存區的檔案。

# changes to be committed: 修改後並add進暫存區中的檔案。

git add

# 引數:

# git add . 將新增、修改的檔案新增到暫存區,不包括刪除的檔案。

# git add -u 將修改的檔案新增到暫存區。

# git add -a 將新增、修改、刪除的檔案新增到暫存區。

# 說明:

# git add filename 將指定的檔案新增到暫存區。

git diff

# 引數:

# git diff 比較 工作區和暫存區 之間的不同之處

# git diff --cached 比較 暫存區和版本庫 之間的不同之處

# git diff head 比較 工作區和版本庫 之間的不同之處

git reset 版本號

# 回退到指定的版本(通過git log可以查到版本號:commmit後的那串數字) 注:head指向當前的版本(最近一次的提交),head^指向上乙個版本,head^^指向上兩個版本。

# 引數:

# git reset --soft 版本號 只回退commit的資訊,不回退index(暫存區)和本地**。

# git reset --mixed 版本號 回退commit和index,不回退本地**,預設使用該策略。

# git reset --hard 版本號 徹底回退到指定的版本,本地**、commit、index都會回退。

# 說明:

# git reset 即 git reset head

git reset head filename

# 把暫存區中指定檔案的修改回退到工作區中,即unstage。

# eg:把暫存區的修改回退到工作區:git reset head .

git checkout -- filename

# 撤銷工作區指定檔案的修改。

# 說明:

# 如果檔案沒有add到暫存區,則checkout後,工作區的該檔案和版本庫中的該檔案相同。

# 如果檔案已經add到暫存區,但是還沒有checkout到本地倉庫,則revert後,工作區的該檔案和暫存區的該檔案相同。

遠端倉庫的相關操作:

git remote

# 檢視遠端庫列表

# 引數:

# git remote -v 檢視遠端庫列表,並且顯示clone的url。

git remote add repositoryname giturl

# 新增遠端倉庫。

git remote show repositoryname

# 檢視遠端倉庫的資訊。

git remote rm

# 刪除遠端倉庫。

git remote rename oldname newname

# 給遠端倉庫重新命名。

git常用命令解析

git作為團體專案經常使用的工具,是嵌入式工程師必須掌握的。git branch a 檢視所有分支 git checkout tvi2309a zkt 切換當前分支到tvi2309a zkt git pull rk tvi2309a zkt 更新本地分支tvi2309a zkt git branch...

Git常用命令解析

檢視 新增 提交 刪除 找回,重置修改檔案 git help 顯示command的help git show 顯示某次提交的內容 git show id git co 拋棄工作區修改 git co 拋棄工作區修改 git add 將工作檔案修改提交到本地暫存區 git add 將所有修改過的工作檔案...

常用命令 Git 常用命令大全

安裝教程可參照 廖雪峰老師的安裝教程。git config 在git中,使用git config 命令來配置 git 的配置檔案,git配置級別主要有3類 1 倉庫級別 local 本地 git 倉庫級別配置檔案,作用於當前倉庫。優先順序最高 2 使用者級別 global,全域性配置檔案,作用於所有...