Git經常使用的簡單命令

Vim+Gig是在服務器端開發再合適不過的神器!這裏只是對本身日常工做中經常使用到的git命令作一個小小的總結,方便程序員開發和版本控制!git

git的配置文件
一、git有三個級別的配置文件,分別是版本庫級別的配置文件、全局配置文件(用戶家目錄下)、系統配置文件(安裝git的時候所在的目錄,通常狀況下是在/etc/)。它們的有限級別以下,.git 目錄下的config文件配置會覆蓋用戶家目錄下的配置文件,而用戶家目錄的配置文件會覆蓋系統的git配置文件
二、git config -e 對版本庫中的.git/config 文件進行編輯
git config -e --global 對主目錄下的.gitconfig文件進行編輯
git config -e --system 對系統級別的配置文件進行編輯
三、git config <section> . <key> 用來讀取某個配置節下的對應鍵
git config <section> . <key> 用來設置某個配置接下的對應鍵程序員

git --version
查看當前git的版本緩存

初始化代碼倉庫(此時在當前目錄下,就會多一個 .git 的目錄,就是代碼倉庫)
git init服務器

git config --global user.name 'zero'
git config --global user.email 'maweibinguo@163.com' (自報家門)
git config --global color.ur true(在命令行中開啓顏色顯示)
對git進行配置命令行

git rev-parse --git-dir
顯示版本庫.git目錄所在的位置版本控制

git status -s
功能:用來比較,當前的工做目錄和緩存區的狀態
??:該文件尚未被git進行追蹤
A:當前工做目錄同緩存文件相比,新增長的文件
M:當前目錄同緩衝區相比,已經進行了改變(Modify)
D: 當前目錄同緩衝區相比,刪除的文件日誌

注意:git status 是以緩衝區中的內容爲標準的,全部的AMD都是以緩衝區的內容爲準,通過同緩衝區的對比,發現當前工做區進行了AMD等操做開發

git diff
功能:若是沒有其餘參數,git diff 會顯示自從你上次提交快照以後還沒有緩存的全部更改
注意:對比的參照點仍然是緩衝區中的內容,將當期那工做目錄中的文件同緩衝區作對比it

git diff --cached
功能:將緩衝區的內容同快照中的內容進行對比io

git diff HEAD
功能:將當前工做目錄中的文件,同快照中的內容進行對比,HEAD(當前工做分支)

git commit -m '對本次提交的快照的說明'
功能:將緩衝區中的內容添造成一次快照(也就是打一個版本)

git commit -am '對本次提交的說明'
功能:同git commit -m 的功能相似,可是,因爲多了一個a參數。這樣就有一個隱含的操做,將已經追蹤的文件先進行自動提交(注意:是已經追蹤到的文件)!

git log :
功能:顯示從最近到最遠的提交日誌
我的體會是,咱們最想要的就是commmitid和對本次提交的說明

git reset --hard commitid
功能:回到指定的某個版本,注意,是連通當前的工做區一塊兒回去,很可怕的一個命令。若是你並無對當前的工做目錄進行提交,並且還執行了這個操做,那麼就杯具了,你上次提交後全部的更改內容就所有丟失而來,本人在這方面就犯了很大的錯誤!想一想都是血淚啊!

git reflog
功能:用來記錄你的每一次命令,這樣咱們就能夠看到全部的commitid了(而git log只可以用來查看當前版本的commitid以及之前提交版本的commitid)

git checkout -- file
功能:將緩衝區或者快照中的指定文件恢復到當前的工做目錄
注意:--是必需要寫的,若是不寫的話,就成爲了分支的切換。
同時,咱們應該明白,恢復的前後順序。執行完改命令後,若是緩衝區中有該文件的話,那麼工做目錄就會恢復到緩衝區的樣子!若是緩衝區沒有文件的話,那麼就會恢復到最新提交的版本上面!

git reset HEAD file
功能:將緩衝區中的指定文件,回退到最新的一次commit版本。
這個命令仍是頗有用的,若是咱們誤操做了,而且進行了add,那麼此時再用 git checkout --file 恢復工做區中的內容的話,就沒有任何效果了!可是執行git reset HEAD file這個命令,就能夠將最新一次的commit中的file文件拉回到緩衝區中,而後在經過git checkout -- file命令,恢復到工做區中!

git branch
功能:展示當前的全部分支,前面帶有 "*" 是所在分支

git branch 分支名
功能:建立一個新的分支

git checkout -b 分支名
功能:建立新分支,並切換到改分支上

git branch -d 分支名
功能:刪除指定的分支(不能夠刪除當前所在分支)

git checkout 分支名
功能:用於在不一樣的分支之間進行切換
注意:因爲版本的不一樣,在操做上可能有所不一樣!在某些版本上必須先進行git add , commit 以後,才能進行分支的切換!(1.8.3以前的貌似都須要提交才行),而有的分支則不須要進行此操做!

git merge 分支名功能:將指定的分支合併到當前的分支關於分支的合併我想說一下,本身的理解,我的認爲所謂合併,實際上是對全部修改的合併!這裏舉個例子說明會更好一些:A做家寫初步完成了一篇長篇小說的初稿,可是呢仍然須要對這篇長篇小說進行修修改改!處於對質量的嚴格要求!此時A做家找到了B做家,但願B做家提出寶貴的意見,讓他對這篇小說也進行修改!等修改的差很少了,A做家,就讓B做家把他的修改內容發給A做家,A做家再將B做家的修改添加到本身既有的修改上面!(--這應該就是合併)若是A做家的修改的內容,B做家也進行了修改,那麼就有A做家去決定改要誰的修改!(--這就是解決衝突)

相關文章
相關標籤/搜索