git config可以配置git的引數,可以使用git config --list檢視已經配置的git引數。其中有三個級別的儲存位置,- -system、- -global、- -local,分別表示所有使用者(本系統)、當前使用者(全域性)、本地配置(當前目錄),預設使用- -local。
配置使用者名稱郵箱
在使用git提交前,必須配置使用者名稱和郵箱,這些資訊會永久儲存到歷史記錄中。
git config --global user.name "tocy"
git config --global user.email [email protected]
可以直接呼叫git init
初始化當前目錄,即建立git倉庫。
轉殖遠端倉庫git clone
在windows下的git gui中,提交很簡單,右鍵-tortoisegit-commit。那麼命令列下需要怎麼處理?
git中每個檔案都有三種狀態:committed、staged、modified。它們之間關係如下:
commit <-- stage <-- modify
commit --> — --modify
我們獲取的git倉庫中的所有檔案都是committed狀態,如果你在本地修改了檔案a,a的狀態就變成modified的;如果使用git add a
,a的狀態變成staged;如果使用git commit
,a的狀態就變成commited。這種狀態變化也說明複製**是很方便的,但是提交更新請慎重。
當然還有一種檔案狀態,未跟蹤狀態(unversioned/untracked),通過使用git add
可以把未跟蹤狀態變更為staged;通過git rm
可以將staged或者committed狀態變為未跟蹤狀態。
git status
提交前檢查修改了什麼內容,當前目錄下各個檔案的狀態
$ git status
on branch master
initial commit
untracked files:
(use "git add ..." to include in what will be committed)
readme.md
nothing added to commit but untracked files present (use "git add" to track)
git add
git add可以新增檔案或者目錄,也可以使用萬用字元。比如:
git add readme.md # add file only
git add *.cpp # add all cpp files
git add /home/code/ # add all files in /home/code
注:git add .
提交全部
git diff
git diff可以檢視當前目錄的所有修改。
提交之前,還是單獨確認下處於staged狀態的檔案有哪些,並保證修改正確。在實際應用中,可能還需要使用git diff匯出patch做**走讀。
可以使用git diff --staged
或git diff --cached
檢視staged與上次提交快照之間的區別。
git commit
提交前需慎重。直接呼叫git commit
會彈出編輯器,輸入提交日誌(如果是多行日誌,建議使用)。
針對單行日誌提交的情況,可以使用如下命令:git commit -m "add readme"
。
還有一種快捷的提交方式,直接跳過stage快取區,直接提交當前目錄下的所有修改git commit -a
(使用這個命令前建議確認下當前目錄的修改是否正確、必須)。
git rm
git rm會把檔案從當前目錄刪除(不會儲存刪除的檔案)。如果需要從git倉庫中刪除,但保留在當前工作目錄中,亦即從跟蹤清單中刪除,可以使用git rm --cached readme.md
。
可以使用git log
檢視當前工程的所有提交的日誌。
git log --stat # 僅顯示摘要選項
git log --pretty=oneline # 定製記錄格式
git log --graph # 影象化分支和版本更新
用git remote
檢視當前的遠端庫
git remote -v
顯示對應的轉殖位址。(對多個遠端倉庫有用)
新增遠端倉庫
git remote add [short-name] [url]
新增新的遠端倉庫
從遠端倉庫抓取資料
git fetch [remote-name]
可以從遠端倉庫抓取資料到本地
也能用git pull
推送資料到遠端倉庫
````git push [remote-name] [branch_name]```
預設 origin和master
檢視遠端倉庫資訊
git remote show origin
遠端倉庫的刪除和重新命名
git remote rename [old_name] [new_name]
git remote rm [remote_name]
使用git tag
顯示當前庫的標籤
新增標籤
git tag -a v0.1 -m "my version 0.1"
使用如下命令檢視tag日誌資訊(指定對應標籤的名字)
git show v0.1
也可使用sha-1的提交表示建立tag:
git tag -a v0.2 [sha-1] -m "my version 0.2"
分享標籤
預設的,git push不會推送標籤資訊到遠端倉庫,需要通過命令顯式推送。
git push origin v0.1
如果需要推送所有標籤,使用
git push origin --tags
git分支是輕量級的,速度很快,僅記錄索引資訊。
顯示所有分支
使用git branch
可顯示當前所有分支。
可以使用–merged和–no-merged檢視已經合併、未合併的分支。
建立及切換分支
可以使用下面命令直接切換並建立分支
git checkout -b testing
等價於
$ git branch testing # 建立testing 分支
$ git checkout testing # 切換到testing分支
注意切換分支時請保持工作目錄沒有未提交的修改。git鼓勵使用分支,處理完問題之後合併分支即可。
分支合併
將hotfix分支合併到master(主分支)上,需要通過下面命令:
$ git checkout master
$ git merge hotfix
合併之後可以使用git branch -d hotfix
刪除分支。
如果合併時存在衝突,需要手工修改。
Git基本常用操作
1.重新命名 git 資料夾 git mv src dst2.回退到某個提交 git reset hard commit id commit id 可以省略為前6位3.拉取遠端分支 git pull origin master 從遠端origin獲取最新版本並merge到本地master分支or g...
git 常用基本操作
git基本操作命令 1 git init 初始化,在當前目錄生成乙個.git檔案 2 git add 新增當前路勁所有檔案 3 git commit am 提交建議 提交上一步新增的檔案到本地倉庫 4 git remote add origin git xx.xx.xx.xx repos git 增...
git基本常用操作
git操作還是記錄一下,以後看起來會十分方便。我記錄都是自己常用操作,可能不太全面,但是還是比較實用。幾個專用名詞的譯名 workspace 工作區 index stage 暫存區 repository 倉庫區 或本地倉庫 remote 遠端倉庫 git add 新增當前目錄的所有檔案到暫存區 gi...