git基本常用命令

2021-09-02 05:06:39 字數 4374 閱讀 3006

1. 初始命令

init 初始化倉庫

$ git init

clone 檢出轉殖倉庫

$ git clone 倉庫名[

config 配置

$ git config --list #檢視配置

$ git config --system user.name #系統級配置

$ git config --global user.name #全域性配置,系統使用者級

$ git config user.name #倉庫級配置

help 幫助

$ git help $ git --help

$ man git-remot 遠端倉庫

$ git remote -v              #檢視遠端倉庫

$ git remote show origin           #檢視遠端倉庫

$ git remote add pb #新增遠端倉庫

$ git remote rename pb paul        #重新命名遠端倉庫

$ git remote rm paul             #移除遠端倉庫

2.基礎命令

status 檢視檔案狀態

$ git status

$ git status -s     #狀態簡覽

add 暫存已修改檔案

$ git add filename

$ git add -a       #暫存所有已修改檔案

commit 提交更新

$ git commit -m "commit message"

$ git commit -a -m "commit message" #跳過暫存區,直接提交

push 推送到遠端倉庫

$ git push

$ git push origin master

fetch 從遠端倉庫拉取資料

$ git fetch [remote-name]

merge 合併分支

$ git merge

pull ( fetch + merge )

#用 fetch 和 merge 好了

3.常用命令

diff 檢視修改

$ git diff #比較 暫存區-工作區

$ git diff --staged #比較 倉庫-暫存區

log 檢視提交歷史

$ git log #檢視之前提交版本

$ git log --stat    #展示提交的簡略統計資訊

$ git reset --hard 版本號 #回滾到上乙個版本可

撤銷操作

$ git commit --amend #重新提交

$ git reset head filename #取消暫存的檔案

checkout 撤銷對檔案的修改

$ git checkout filename

# 會覆蓋工作區檔案

# 如果暫存區有改動的檔案,則從暫存區到工作區

# 如果暫存區無改動的檔案,則從倉庫到工作區

tag 打標籤

複製**

$ git tag #檢視標籤

$ git tag -a v1.4 -m "my version 1.4"   #建立附註標籤

$ git tag v1.4               #建立輕量標籤

$ git tag -a v1.2 9fceb02         #對某次提交後期打標籤

$ git push origin v1.5           #上傳某個標籤,git 預設不會 push 標籤到遠端倉庫

$ git push origin --tags           #上傳所有不在遠端倉庫的標籤

$ git checkout -b version2 v2.0.0     #檢出標籤

複製**

rm 移除檔案

$ git rm filename     #個人感覺效果同 rm

$ git rm --cached filename #移除暫存區中的檔案

mv 移動檔案

$ git mv file_from file_to #個人感覺效果同 mv

3.分支命令

branch 建立分支

複製**

$ git branch          #檢視分支,前面帶星號*的,是當前分支

$ git branch testing     #建立 testing 分支

$ git branch -d testing  #刪除 testing 分支

$ git branch -v   #檢視每個分支最後一次提交

$ git branch --merged     #檢視已合併到當前分支的分支

$ git branch --no-merged  #檢視未合併到當前分支的分支

複製**

checkout 切換分支

$ git checkout testing

$ git checkout -b iss53   #建立分支,並切換到新建立的分支

merge 合併分支

$ git merge hotfix #把 hotfix 分支,合併到當前分支

$ git mergetool    #圖形化解決衝突的工具

4.底層命令

cat-file 讀取 git 倉庫物件

$ git cat-file -p f8a67de1d4bf0d6dbaaaf8990ffe8394e5fa88ee #檢視物件內容

$ git cat-file -p master^ #master 分支上最新的提交所指向的 tree 物件

$ git cat-file -t f8a67de1d4bf0d6dbaaaf8990ffe8394e5fa88ee #檢視物件型別

$ git cat-file -s f8a67de1d4bf0d6dbaaaf8990ffe8394e5fa88ee #檢視物件大小

hash-object 操作 git 倉庫物件

$ git hash-object -w filename.txt #把 filename.txt 檔案內容寫入 git 倉庫

update-index 操作暫存區

$ git update-index --add --cacheinfo 100644 f8a67de1d4bf0d6dbaaaf8990ffe8394e5fa88ee #建立暫存區,並把 blob 物件新增到暫存區

$ git update-index test.txt      #更新暫存區

$ git update-index --add new.txt  #向暫存區新增檔案

write-tree 建立樹物件

$ git write-tree #根據當前暫存區內容,建立樹物件

read-tree 把樹物件讀入到暫存區

$ git read-tree 754a1e2d567bbbcee762a2d7768407f4d3290fc8

$ git read-tree --prefix=bak 754a1e2d567bbbcee762a2d7768407f4d3290fc8 #把樹物件當作子樹讀入暫存區

commit-tree 建立提交物件

$ echo 'first commit' | git commit-tree 754a1e #根據樹物件,建立提交物件

$ echo 'second commit' | git commit-tree 754a1e -p 32b8d2 #建立提交物件時,指定父提交物件

update-ref 建立引用(分支、標籤)

$ git update-ref refs/heads/master 32b8d2

#或者如下直接編輯引用檔案,不提倡這麼做

$ echo "32b8d2094acef696efa3ca1b0a29639d97be1684" > .git/refs/heads/master

sysmbolic-ref 符號引用(head)

$ git symbolic-ref head refs/heads/test

#或者如下直接編輯引用檔案,不提倡這麼做

$ echo "refs/heads/test" .git/head

遠端引用

#遠端引用是唯讀的,看看就好了

gc 生成包檔案

$ git gc

#git 會根據情況自己執行,一般不需要手動之行

Git基本常用命令

git是目前世界上最先進的分布式版本控制系統。0x01 svn與git的最主要區別 svn是集中式版本控制系統,版本庫是集中放在 伺服器的,而幹活的時候,用的都是自己的電腦,所以首先要從 伺服器 得到最新的版本,然後幹活,幹完後,需要把自己做完的活推送到 伺服器。集中式版本控制系統是必須聯網才能工作...

Git基本常用命令

git是web開發人員常用的工具,git是乙個開源的分布式版本控制系統,可以有效 高速的處理從很小到非常大的專案版本管理,為了幫助管理 linux 核心開發而開發的乙個開放原始碼的版本控制軟體。git命令有很多,我2014年畢業至今做前端開發近3年,今天特別整理一下,把使用頻率高,拿出來。使用頻率高...

Git基本常用命令

以下內容來自塗根華的部落格 mkdir xx 建立乙個空目錄 xx指目錄名 pwd 顯示當前目錄的路徑。git init 把當前的目錄變成可以管理的git倉庫,生成隱藏.git檔案。git add xx 把xx檔案新增到暫存區去。git commit m xx 提交檔案 m 後面的是注釋。git s...