vim+gig是在伺服器端開發再合適不過的神器!這裡只是對自己平常工作中常常使用到的git命令做乙個小小的總結,方便程式設計師開發和版本控制!
git的配置檔案
1、git有三個級別的配置檔案,分別是版本庫級別的配置檔案、全域性配置檔案(使用者家目錄下)、系統配置檔案(安裝git的時候所在的目錄,一般情況下是在/etc/)。它們的有限級別如下,.git 目錄下的config檔案配置會覆蓋使用者家目錄下的配置檔案,而使用者家目錄的配置檔案會覆蓋系統的git配置檔案
2、git config -e 對版本庫中的.git/config 檔案進行編輯
git config -e --global 對主目錄下的.gitconfig檔案進行編輯
git config -e --system 對系統級別的配置檔案進行編輯
3、git config . 用來讀取某個配置節下的對應鍵
git config . 用來設定某個配置接下的對應鍵
git --version
檢視當前git的版本
初始化**倉庫(此時在當前目錄下,就會多乙個 .git 的目錄,就是**倉庫)
git init
git config --global user.name 'zero'
git config --global user.email '[email protected]' (自報家門)
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 會顯示自從你上次提交快照之後尚未快取的所有更改
注意:對比的參照點仍然是緩衝區中的內容,將當期那工作目錄中的檔案同緩衝區做對比
git diff --cached
功能:將緩衝區的內容同快照中的內容進行對比
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作家去決定改要誰的修改!(--這就是解決衝突)
簡單的, 自己常用的git命令
首先說一下,我是在廖雪峰的部落格學習的git,如果你想系統的學習git,建議去廖雪峰大佬的部落格傳送門。當然本文也是我用於記錄一下自己常用的命令。git與其他版本控制系統最大的不同在於其對待資料的方式。從概念來說,其他大多數版本控制系統以檔案列表的方式儲存資訊。這類系統將其儲存的資訊視為一組檔案以及...
git 簡單入門 git的簡單命令
安裝好後在桌面右鍵你會看到 我要用的是 在開啟的那給資料夾右鍵 然後選擇git bash here你就會進去這樣的乙個介面 同時你的資料夾裡會有乙個這樣的檔案 這個檔案不用管。這個你就可以建立乙個文字文件了。在裡面執行一些命令了。以下就是一些基本命令了 重點說一下 git add 將檔案上傳緩衝區 ...
git的常用命令簡單使用
構建版本控制工具git git是目前世界上最先進的分布式版本控制系統 沒有之一 以下介紹git的常用命令 建立新本地倉庫 git初始化 git init顯示工作路徑下已修改的檔案 git status把當前所有修改新增到下次提交中 1 git add提交之前已標記的變化 1 git commit附加...