首先解釋幾個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...