摘要:是在服務(wù)器端開發(fā)再合適不過(guò)的神器這里只是對(duì)自己平常工作中常常使用到的命令做一個(gè)小小的總結(jié),方便程序員開發(fā)和版本控制的配置文件有三個(gè)級(jí)別的配置文件,分別是版本庫(kù)級(jí)別的配置文件全局配置文件用戶家目錄下系統(tǒng)配置文件安裝的時(shí)候所在的目錄,一般情況下
Vim+Gig是在服務(wù)器端開發(fā)再合適不過(guò)的神器!這里只是對(duì)自己平常工作中常常使用到的git命令做一個(gè)小小的總結(jié),方便程序員開發(fā)和版本控制!
git的配置文件
1、git有三個(gè)級(jí)別的配置文件,分別是版本庫(kù)級(jí)別的配置文件、全局配置文件(用戶家目錄下)、系統(tǒng)配置文件(安裝git的時(shí)候所在的目錄,一般情況下是在/etc/)。它們的有限級(jí)別如下,.git 目錄下的config文件配置會(huì)覆蓋用戶家目錄下的配置文件,而用戶家目錄的配置文件會(huì)覆蓋系統(tǒng)的git配置文件
2、git config -e 對(duì)版本庫(kù)中的.git/config 文件進(jìn)行編輯
git config -e --global 對(duì)主目錄下的.gitconfig文件進(jìn)行編輯
git config -e --system 對(duì)系統(tǒng)級(jí)別的配置文件進(jìn)行編輯
3、git config
git config
git --version
查看當(dāng)前git的版本
初始化代碼倉(cāng)庫(kù)(此時(shí)在當(dāng)前目錄下,就會(huì)多一個(gè) .git 的目錄,就是代碼倉(cāng)庫(kù))
git init
git config --global user.name "zero"
git config --global user.email "[email protected]" (自報(bào)家門)
git config --global color.ur true(在命令行中開啟顏色顯示)
對(duì)git進(jìn)行配置
git rev-parse --git-dir
顯示版本庫(kù).git目錄所在的位置
git status -s
功能:用來(lái)比較,當(dāng)前的工作目錄和緩存區(qū)的狀態(tài)
??:該文件還沒有被git進(jìn)行追蹤
A:當(dāng)前工作目錄同緩存文件相比,新增加的文件
M:當(dāng)前目錄同緩沖區(qū)相比,已經(jīng)進(jìn)行了改變(Modify)
D: 當(dāng)前目錄同緩沖區(qū)相比,刪除的文件
注意:git status 是以緩沖區(qū)中的內(nèi)容為標(biāo)準(zhǔn)的,所有的AMD都是以緩沖區(qū)的內(nèi)容為準(zhǔn),經(jīng)過(guò)同緩沖區(qū)的對(duì)比,發(fā)現(xiàn)當(dāng)前工作區(qū)進(jìn)行了AMD等操作
git diff
功能:如果沒有其他參數(shù),git diff 會(huì)顯示自從你上次提交快照之后尚未緩存的所有更改
注意:對(duì)比的參照點(diǎn)仍然是緩沖區(qū)中的內(nèi)容,將當(dāng)期那工作目錄中的文件同緩沖區(qū)做對(duì)比
git diff --cached
功能:將緩沖區(qū)的內(nèi)容同快照中的內(nèi)容進(jìn)行對(duì)比
git diff HEAD
功能:將當(dāng)前工作目錄中的文件,同快照中的內(nèi)容進(jìn)行對(duì)比,HEAD(當(dāng)前工作分支)
git commit -m "對(duì)本次提交的快照的說(shuō)明"
功能:將緩沖區(qū)中的內(nèi)容添形成一次快照(也就是打一個(gè)版本)
git commit -am "對(duì)本次提交的說(shuō)明"
功能:同git commit -m 的功能類似,但是,由于多了一個(gè)a參數(shù)。這樣就有一個(gè)隱含的操作,將已經(jīng)追蹤的文件先進(jìn)行自動(dòng)提交(注意:是已經(jīng)追蹤到的文件)!
git log :
功能:顯示從最近到最遠(yuǎn)的提交日志
個(gè)人體會(huì)是,我們最想要的就是commmitid和對(duì)本次提交的說(shuō)明
git reset --hard commitid
功能:回到指定的某個(gè)版本,注意,是連通當(dāng)前的工作區(qū)一起回去,很可怕的一個(gè)命令。如果你并沒有對(duì)當(dāng)前的工作目錄進(jìn)行提交,而且還執(zhí)行了這個(gè)操作,那么就杯具了,你上次提交后所有的更改內(nèi)容就全部丟失而來(lái),本人在這方面就犯了很大的錯(cuò)誤!想想都是血淚啊!
git reflog
功能:用來(lái)記錄你的每一次命令,這樣我們就可以看到所有的commitid了(而git log只能夠用來(lái)查看當(dāng)前版本的commitid以及以前提交版本的commitid)
git checkout -- file
功能:將緩沖區(qū)或者快照中的指定文件恢復(fù)到當(dāng)前的工作目錄
注意:--是必須要寫的,如果不寫的話,就成為了分支的切換。
同時(shí),我們應(yīng)該明白,恢復(fù)的先后順序。執(zhí)行完改命令后,如果緩沖區(qū)中有該文件的話,那么工作目錄就會(huì)恢復(fù)到緩沖區(qū)的樣子!如果緩沖區(qū)沒有文件的話,那么就會(huì)恢復(fù)到最新提交的版本上面!
git reset HEAD file
功能:將緩沖區(qū)中的指定文件,回退到最新的一次commit版本。
這個(gè)命令還是很有用的,如果我們誤操作了,并且進(jìn)行了add,那么此時(shí)再用 git checkout --file 恢復(fù)工作區(qū)中的內(nèi)容的話,就沒有任何效果了!但是執(zhí)行g(shù)it reset HEAD file這個(gè)命令,就可以將最新一次的commit中的file文件拉回到緩沖區(qū)中,然后在通過(guò)git checkout -- file命令,恢復(fù)到工作區(qū)中!
git branch
功能:展現(xiàn)當(dāng)前的所有分支,前面帶有 "*" 是所在分支
git branch 分支名
功能:創(chuàng)建一個(gè)新的分支
git checkout -b 分支名
功能:創(chuàng)建新分支,并切換到改分支上
git branch -d 分支名
功能:刪除指定的分支(不可以刪除當(dāng)前所在分支)
git checkout 分支名
功能:用于在不同的分支之間進(jìn)行切換
注意:由于版本的不同,在操作上可能有所不同!在某些版本上必須先進(jìn)行g(shù)it add , commit 之后,才能進(jìn)行分支的切換!(1.8.3之前的貌似都需要提交才行),而有的分支則不需要進(jìn)行此操作!
git merge 分支名
功能:將指定的分支合并到當(dāng)前的分支
關(guān)于分支的合并我想說(shuō)一下,自己的理解,個(gè)人認(rèn)為所謂合并,其實(shí)是對(duì)所有修改的合并!這里舉個(gè)例子說(shuō)明會(huì)更好一些:
A作家寫初步完成了一篇長(zhǎng)篇小說(shuō)的初稿,但是呢仍然需要對(duì)這篇長(zhǎng)篇小說(shuō)進(jìn)行修修改改!處于對(duì)質(zhì)量的嚴(yán)格要求!此時(shí)A作家找到了B作家,希望B作家提出寶貴的意見,讓他對(duì)這篇小說(shuō)也進(jìn)行修改!等修改的差不多了,A作家,就讓B作家把他的修改內(nèi)容發(fā)給A作家,A作家再將B作家的修改添加到自己既有的修改上面?。?-這應(yīng)該就是合并)
如果A作家的修改的內(nèi)容,B作家也進(jìn)行了修改,那么就有A作家去決定改要誰(shuí)的修改?。?-這就是解決沖突)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/20961.html
摘要:目錄提交代碼常用命令讀寫文件一常用命令從遠(yuǎn)程倉(cāng)庫(kù)克隆整個(gè)項(xiàng)目代碼列出當(dāng)前目錄所有還沒有被管理的文件和被管理且被修改但還未提交的文件提交全部未跟蹤和修改文件,但是不處理刪除文件將暫存區(qū)里的改動(dòng)給提交到本地的版本庫(kù)參數(shù)表示可以直接輸入后面的 目錄 Git提交代碼常用命令 python 讀寫Excel文件Demo 一、Git常用命令 git clone #從遠(yuǎn)程倉(cāng)庫(kù)克隆整個(gè)項(xiàng)目代碼sh...
git常用命令 git常用命令 初始化本地git環(huán)境? git init 克隆一份代碼到本地倉(cāng)庫(kù) ? git clone XXX 把遠(yuǎn)程庫(kù)的代碼更新到工作臺(tái) ? git pull 強(qiáng)制把遠(yuǎn)程庫(kù)的代碼跟新到當(dāng)前分支上面 ? git pull --rebase origin master 把遠(yuǎn)程庫(kù)的代碼更新到本地庫(kù)? git fetch 把本地的修改加到stage中?...
git常用命令 git常用命令 初始化本地git環(huán)境? git init 克隆一份代碼到本地倉(cāng)庫(kù) ? git clone XXX 把遠(yuǎn)程庫(kù)的代碼更新到工作臺(tái) ? git pull 強(qiáng)制把遠(yuǎn)程庫(kù)的代碼跟新到當(dāng)前分支上面 ? git pull --rebase origin master 把遠(yuǎn)程庫(kù)的代碼更新到本地庫(kù)? git fetch 把本地的修改加到stage中?...
git常用命令 git常用命令 初始化本地git環(huán)境? git init 克隆一份代碼到本地倉(cāng)庫(kù) ? git clone XXX 把遠(yuǎn)程庫(kù)的代碼更新到工作臺(tái) ? git pull 強(qiáng)制把遠(yuǎn)程庫(kù)的代碼跟新到當(dāng)前分支上面 ? git pull --rebase origin master 把遠(yuǎn)程庫(kù)的代碼更新到本地庫(kù)? git fetch 把本地的修改加到stage中?...
閱讀 721·2021-11-22 13:52
閱讀 1531·2021-09-27 13:36
閱讀 2833·2021-09-24 09:47
閱讀 2192·2021-09-22 15:48
閱讀 3608·2021-09-22 15:39
閱讀 1474·2019-08-30 12:43
閱讀 2928·2019-08-29 18:39
閱讀 3197·2019-08-29 12:51