Git常用命令

2021-06-26 07:26:44 字數 3920 閱讀 4942

首先解釋幾個git常用的名詞:

1,working tree:工作目錄樹,下文稱為工作空間

2,index:索引,下文稱為暫存區

在使用git前需要先生成秘鑰

ssh-keygen -t rsa -c 「mail」

-t specify type of key to create

-c provide new comment

一,配置git

顯示配置:

git config [file_option] --list

配置修改:

git config [file_option] file_option(配置優先順序從高到低):

空:%repository_home%//.git/config

--global:%user_home%/.gitconfig

user_home:

win:/c/linux:/home/--system:%git_home%/etc/gitconfig

常見的config_name如下:

user.name

user.email

color.ui

merge.tool(必須是git可識別的工具)

在windows系統中要注意換行符的問題,如果想在提交時自動把行結束符crlf轉換成lf、簽出**時把lf轉換成crlf,只需進行如下設定即可

git config --global core.autocrlf true
二,圖形介面

圖形介面:

git gui

提交記錄(需移動至庫路徑下):

gitk [options]

options:

預設:當前分支提交記錄

--all:所有分支提交記錄

三,幫助資訊

git help git --help
四,檔案操作

檢視工作空間狀態:

git status

跟蹤新檔案 | 已跟蹤檔案改動提交至暫存區 | 將檔案狀態由有衝突改為已解決:

git add 提交修改至版本庫:

提交暫存區內容:

git commit -m 提交工作空間已跟蹤檔案修改(無論修改是否提交至暫存區,都會被提交至版本庫):

git commit -m <-a|file_names>

-a:所有已跟蹤檔案

file_names:特定已跟蹤檔案

取消跟蹤檔案:

git rm --cached 暫存區的修改回退至工作區:

git reset head 取消檔案修改:

git checkout 檔案沒有add至暫存區,則檔案恢復至版本庫中的狀態

檔案add至暫存區後又做了修改,恢復至add至暫存區時的狀態

檔案重新命名:

1,git mv 2,git commit -m 檔案刪除:

1,刪除工作目錄下該檔案:rm 2,將該刪除操作提交至暫存區:git rm 3,提交暫存區修改:git commit -m 檔案比較:

比較工作空間和暫存區之間的區別:

git diff [file_name]

比較暫存區和版本庫之間的區別:

git diff --cached [file_name]

比較工作空間和版本庫之間的區別:

git diff head [file_name]

五,工作現場

儲存工作現場:

git stash

檢視所有儲存的工作現場:

git stash list

恢復工作空間至最近一次儲存的工作現場:

恢復工作空間至特定的工作現場:

git stash pop

刪除特定的工作現場:

git stash drop

六,分支(主分支有時被稱為主幹,也就是master)

檢視所有本地分支:

git branch

檢視所有本地分支跟蹤的遠端分支:

git branch -r

建立分支:

git branch [father_branch_name]

建立+檢出新建分支:

git checkout -b [father_branch_name]

檢出分支(內容檢出至工作空間):

git checkout

修改分支名:

git branch -m 分支合併:

直接合併:

將指定分支合併至當前分支:git merge

壓合合併:

所有歷史提交壓合為乙個提交:git merge --squash

不會自動提交,需要手動提交

揀選合併:

揀選特定提交合併至當前分支:git cherry-pick [-n] -n:合併不會自動提交,揀選出所有提交後,手動提交即可

衝突處理:

1,手動修改檔案 | git mergertool(使用merge工具修改檔案)

可使用git config --global merge.tool 修改預設的merge工具,merge工具路徑必須已經加入系統path並且是git可識別的工具

2,git add 將檔案狀態由有衝突修改為已解決

刪除指定分支(不能刪除當前分支):

git branch -[d|d]

-d:強制刪除,可用來刪除未merge的分支

七,標籤

檢視所有標籤:

git tag

建立標籤(預設為當前分支):

git tag [branch_name]

根據commit-id為當前版本建立標籤:

git tag 為當前版本建立有說明的標籤:

git tag -a -m 顯示標籤詳細資訊:

git show 推送本地特定標籤至遠端庫:

git push origin 推送本地所有標籤至遠端庫:

git push origin --tags

刪除本地庫特定標籤:

git tag -d 刪除遠端庫特定標籤:

git tag -d git push origin :refs/tags/

八,版本庫

建立本地庫:

git init

轉殖遠端庫:

git clone [local_repository_name]

檢視所有遠端庫別名:

git remote [-v]

檢視遠端庫詳細資訊:

git remote show 建立遠端庫別名+建立關聯關係:

git remote add 刪除遠端庫別名+刪除關聯關係:

git remote rm 更新本地庫關聯的遠端庫 :

git fetch [repository_alias]

預設為origin

更新本地庫關聯的遠端庫,並將更新合併至本地庫:

git pull [repository_alias local_branch_name:remote_branch_name]

repository_alias預設為當前分支關聯的遠端庫別名,

如果當前分支沒有關聯遠端版本,則為origin

local_branch_name:remote_branch_name預設為

current_branch_name:current_branch_name

本地庫提交至遠端庫(只提交已經commit的修改):

git push [repository_alias local_branch_name:remote_branch_name]

同git pull說明

常用命令 Git 常用命令大全

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

git 常用命令

檢視是否存在檔案需要上傳 git status git add git commit m 建立遠端倉庫 git remote add origin 116.255.146.153 ruby cd work daily project.git 更新git fetch 116.255.146.153 r...

git常用命令

詳細 1,git log p 命令來顯示每一次提交與其父節點提交內容之間快照的差異。2,為了檢視載入 staged 而並未提交 not committed 的內容差異,可以使用 git diff stage 命令 在git 1.6之前的版本中,使用 cached 適應情形 在執行git commit...