Git-基本操做

基本操做

一、git commit -m '':commit a file in stagegit

區別於git commit <files>|-a(將問文件從本地直接弄到stage區和history區)github

二、git log: 提交歷史vim

git log --decorate查看各個分支指向的commit對象服務器

 1 -p 按補丁格式顯示每一個更新之間的差別。
 2 --stat 顯示每次更新的文件修改統計信息。
 3 --shortstat 只顯示 --stat 中最後的行數修改添加移除統計。
 4 --name-only 僅在提交信息後顯示已修改的文件清單。
 5 --name-status 顯示新增、修改、刪除的文件清單。
 6 --abbrev-commit 僅顯示 SHA-1 的前幾個字符,而非全部的 40 個字符。
 7 --relative-date 使用較短的相對時間顯示(好比,「2 weeks ago」)。
 8 --graph 顯示 ASCII 圖形表示的分支合併歷史。
 9 --pretty 使用其餘格式顯示歷史提交信息。可用的選項包括 oneline,short,full,fuller 和
10 format(後跟指定格式)。
1 -(n) 僅顯示最近的 n 條提交
2 --since, --after 僅顯示指定時間以後的提交。
3 --until, --before 僅顯示指定時間以前的提交。
4 --author='' 僅顯示指定做者相關的提交。
5 --committer='' 僅顯示指定提交者相關的提交。
6 --grep='' 僅顯示含指定關鍵字的提交
7 -S 僅顯示添加或移除了某個關鍵字的提交
 1 git log --pretty=oneline:提交信息顯示在一行內
 2 git log --pretty=short:相對默認的少了日期
 3 git log --pretty=full:多了commit
 4 git log --pretty=fuller:多了commit和commitdate
 5 git log -pretty=format
 6 eg
 7 git log --pretty=format:'%h - %an, %ar : %s' 推薦很清楚
 1 git log --pretty=format:'%h - %an, %ar : %s' 推薦很清楚
 2 
 3 %H 提交對象(commit)的完整哈希字串
 4 %h 提交對象的簡短哈希字串
 5 %T 樹對象(tree)的完整哈希字串
 6 %t 樹對象的簡短哈希字串
 7 %P 父對象(parent)的完整哈希字串
 8 %p 父對象的簡短哈希字串
 9 %an 做者(author)的名字
10 %ae 做者的電子郵件地址
11 %ad 做者修訂日期(能夠用 --date= 選項定製格式)
12 %ar 做者修訂日期,按多久之前的方式顯示
13 %cn 提交者(committer)的名字
14 %ce 提交者的電子郵件地址
15 %cd 提交日期
16 %cr 提交日期,按多久之前的方式顯示
17 %s 提交說明

三、git commit --amend:撤銷操做,在文件提交了之後發現還有文件沒有add,先add,用此命令覆蓋上一次提交網絡


四、將文件從暫存區撤回本地(不適用於新文件):
git reset HEAD <file>
使用場景:修改了幾個文件,一不當心所有add進了暫存區,
想要撤回其中一個到本地好比軟連接,此時暫存區沒有此文件,
工做區是改完後的狀態fetch

五、撤銷對文件的修改:
git checkout -- <files> 實際上是將暫存區的文件拉向本地,慎用!
區別於
git checkout HEAD -- <files> 這是將history區的文件拉向暫存區和本地url

遠程倉庫的使用

遠程倉庫是指託管在因特網或其餘網絡中的你的項目的版本庫spa

一、查看遠程倉庫:
git remote 通常狀況顯示origin,默認名字
git remote -v
使用的git的名字和url,若是有不少倉庫,則顯示不少code

二、更多信息:
git remote show originorm

三、添加遠程倉庫:
git remote add <shortname(default:origin)> <url>

四、從遠程倉庫中抓取與拉取:
git fetch [remote-name]如origin
這個命令會訪問遠程倉庫,從中拉取全部你尚未的數據
區別於git pull
git pull 一般會從最初克隆的服務器上抓取數據並自動嘗試合併到當前所在的分支

五、推送到遠程倉庫:
git push [remote-name] [branch-name]

六、遠程倉庫的移除與重命名:
git remote rename oldname newname重命名
git remote rm repo移除
移除了之後找不回來了用git remote add origin http://github.com/xxx/xx.git
本地的remote只是github的備份,感受刪了之後文件就和倉庫失去了聯繫?

git給歷史提交打標籤:

一、查看標籤:
git tag

二、列出特定標籤:
git tag -l 'v1.8.5*'

三、打標籤:
git tag -a v1.3(tag name) -m 'add commit 3'(commit info)
若是僅僅輸入git tag -a v1.4 會進入vim界面,輸入後面內容

四、輕量標籤:
git tag v1.4-lw(tagname)

五、過後打標籤:前面都是給最後一次提交打的
git tag -a v1.2 9fceb02

六、查看標籤信息:
git show v1.4
git show查看輕量標籤沒有額外信息

七、經過標籤將內容推送到origin
git push origin v1.5
git push --tags推送全部不在遠程倉庫服務器上的標籤

八、檢出標籤:
在特定的標籤commit上建立一個新分支
git checkout -b [branchname] [tagname]

git別名

git別名好用,至關於git中的快捷鍵
如:git config --global alias.br branch, =>git br=git branch

git config --global alias.last 'log -1 HEAD'git last查看最後一次提交啊

相關文章
相關標籤/搜索