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...