git筆記

用gitbash進入類似命令行的窗口

用命令 cd e:/learngit 進入該目錄坎炼,然后在此目錄下初始化 git init, 于是該文件夾就成為了一個工作區(qū),里面的.git文件就是版本庫(repository)

在工作區(qū)中新建一個文件拾徙,比如XXX.txt文件

在txt中添加‘1111’文本,用 git add XXX.txt命令將XXX.txt添加到緩存中

git status查看狀態(tài)顯示change to be committed(改變已經(jīng)緩存)

已經(jīng)緩存的文件是無法用 git diff XXX.txt查看不同的,但可以用 git diff HEAD -- XXX.txt(注意-- 后的空格)

然后,用 git commit -m'解釋說明' 提交文檔

提交之后會顯示insertions(插入)绸吸,deletion(刪除),如果在最后添加新行會先刪除最后一行设江,再補充最后一行的文本和新行文本锦茁,于是就會顯示2 insertions ,1 deletions叉存;

如果是在原行添加內(nèi)容則會顯示 1 insertions 码俩,1 deletions;如果只是簡單的插入一個新行則會顯示 1 insertion

這時 git status查看狀態(tài) 顯示nothing to commit working directory clean(沒有東西提交歼捏,工作目錄為空)

這時為txt添加一行稿存,可以用 git diff比較不同

再用 git status查看狀態(tài) changes not staged for commit(改變沒有緩存到提交)

modified:XXX.txt

no changes added to commit (也沒有可以提交的改變)

好,現(xiàn)在將文件緩存并提交后

用 git log可查看提交日志瞳秽,但顯示的條目有限瓣履,所以用 git log --pretty=oneline更直觀 按q可退出

用 cat XXX.txt可查看當(dāng)前工作區(qū)文本內(nèi)容

用 git reset --hard 版本號 可回到相應(yīng)的版本或者用 gir reset --hard HEAD^ 可回到上一個版本,回到前一百個版本 gir reset --hard HEAD~100

用 git reflog(重新迫使) 可查看你的提交和回退日志练俐,也就是命令日志袖迎,因此也能看到相應(yīng)的版本號

git checkout -- XXX.txt 可以撤銷修改,如果已經(jīng)緩存再做修改腺晾,修改也只是在工作區(qū)燕锥,不會影響已經(jīng)緩存的文檔內(nèi)容

git reset HEAD XXX.txt 會將文檔回退到工作區(qū)的狀態(tài),如果文檔在暫存區(qū)時作了修改,那這個修改也只是在工作區(qū)作出的悯蝉,其實暫存區(qū)的文件只是一個副本而已归形,說是回退到工作區(qū),其實不如說是刪除該副本鼻由,比如文檔文本為‘1’暇榴,緩存后再修改為‘12’,現(xiàn)在回退(也就是刪除)那文檔文本仍為‘12’

rm XXX.txt 可以刪除工作區(qū)文檔嗡靡,但分支里的版本就跟工作區(qū)里的不一致了跺撼,也就是分支在工作區(qū)找不到對應(yīng)的文件作比較,因此讨彼,你也需要把分支里的版本刪除 git rm XXX.txt

歉井??哈误?在master上更改后切換分支會報錯:你的本地改變已經(jīng)被改寫哩至,請先提交或stash(備份)后再切換躏嚎,也就是說必須提交后才能切換,注意菩貌,這個時候即使緩存了也會報同樣的錯誤卢佣,而在dev分支上修改再切換到master卻可以,而且在dev分支上作的修改也會照樣在master上呈現(xiàn)

git branch -d dev刪除分支箭阶,如果你當(dāng)前在dev分支上虚茶,你是無法刪除dev分支的,需要切換到其他分支才能刪除

如果在dev上作了修改仇参。git stash 過后切換到master嘹叫,修改master,stash后又切換到dev诈乒,會發(fā)現(xiàn)git stash list上{0}master {1}dev所以此時不能用git stash apply(不會刪除stash list中的相應(yīng)儲存記錄)或git stash pop(會刪除list中的記錄)罩扇,應(yīng)該用git stash apply @{1}

在dev和master的同一行修改了內(nèi)容會引起沖突,比如dev ‘111’怕磨,master‘11111111’喂饥,雖然master只是在dev上增加了,但仍然沖突

如果在dev上創(chuàng)建了一個新分支conf肠鲫,那么在遠程任何分支上都可以創(chuàng)建conf 员帮,在本地conf分支上push origin dev 則會把dev分支上的內(nèi)容推送到遠程dev上

git remote -v可查看當(dāng)前分支在遠程的情況

git remote show origin 可查看遠程有哪些分支

獲取遠程分支 git fetch 此時查看分支列表沒有顯示剛獲取的分支,需要切換到該分支下才行

刪除遠程分支 git push origin :dev 但是本地分支仍然存在导饲,不會被影響

如果在遠程創(chuàng)建了一個分支集侯,而該分支和本地分支同名,當(dāng)切換到該分支時會提示用 ‘git pull’更新本地分支,其實pull就相當(dāng)于更新的功能

???克隆遠程倉庫時只能看到master分支帜消,想在dev分支上開發(fā)需要 git checkout -b dev origin/dev

如果在遠程的dev分支上修改,然后在本地conf分支上使用 git pull可以看到遠程有哪些文件修改了浓体,當(dāng)切換到dev分支上時還需要再次git pull才可更新該分支

如果在工作區(qū)新建了一個文件泡挺,此時在dev分支上add并commit再push,那就只在遠程dev上有該文件

git log可以查看在當(dāng)前分支下的版本記錄命浴,如果該分支是在其他分支上創(chuàng)建的娄猫,那相應(yīng)的記錄也會復(fù)制過來

git tag v1.0可以在給該分支的最近一次提交打上標簽,git tag v1.0 版本號 可以給相應(yīng)版本打上標簽生闲,無論在哪一個分支上媳溺,用git reset --hard v1.0都可以使該分支下的文件回退到該版本

git tag 查看所有標簽 git show v1.0查看標簽信息

這里區(qū)分一下 git reset --hard v1.0(重新設(shè)置為硬盤里的v1.0版本) git checkout -- XXX.txt (切換到當(dāng)前文本,也就是未被修改時的狀態(tài)) git reset HEAD XXX.txt(重新設(shè)置為當(dāng)前指針所指的版本碍讯,也就是緩存了的時候撤回工作區(qū))什么時候- 悬蔽,什么時候-- 如:-m,--hard

git branch --set-upstream-to=origin/dev

從pull過后捉兴,本地會多出一行

蝎困?录语??在本地pull后再push禾乘,push成功后在遠程發(fā)生沖突

刪除操作也需要提交

B分支衍生于A分支的話澎埠,B分支會保存A分支的提交歷史, git checkout --orphan dev創(chuàng)建一個無提交歷史的干凈的dev 分支

git rm -r --cached 文件夾名 //取消跟蹤

git rm --cached 文件名

.gitignore /.json 忽略當(dāng)前目錄下的json .json忽略所有json文件 即使不忽略!myfile myfile下的json仍然被忽略始藕,無論!myfile 蒲稳,*json這兩條語句前后

git ls-files 查看已經(jīng)被跟蹤的文件

git branch -m kill 重命名當(dāng)前分支為kill

git checkout -f 強制撤銷本地修改,對工作區(qū)和緩存區(qū)的修改都有效伍派,對已經(jīng)提交的修改無效

git revert HEAD 比如log里面有版本one和two江耀,那執(zhí)行此命令后為版本one two three,three是one的副本拙已,意味撤銷倉庫的最新提交决记,改為上一版本

遇到 #please commit ...的情況:這是vim的 insert 模式,在首行鍵入提交信息后按ESC退出vim的編輯模式倍踪,然后鍵入 :wq, 注意:號系宫,保存退出

git reset --hard origin/master 將本地的狀態(tài)回退到和遠程的一樣

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市建车,隨后出現(xiàn)的幾起案子扩借,更是在濱河造成了極大的恐慌,老刑警劉巖缤至,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件潮罪,死亡現(xiàn)場離奇詭異,居然都是意外死亡领斥,警方通過查閱死者的電腦和手機嫉到,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來月洛,“玉大人何恶,你說我怎么就攤上這事〗狼” “怎么了细层?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長唬涧。 經(jīng)常有香客問我疫赎,道長,這世上最難降的妖魔是什么碎节? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任捧搞,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘实牡。我一直安慰自己陌僵,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布创坞。 她就那樣靜靜地躺著碗短,像睡著了一般。 火紅的嫁衣襯著肌膚如雪题涨。 梳的紋絲不亂的頭發(fā)上偎谁,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天,我揣著相機與錄音纲堵,去河邊找鬼巡雨。 笑死,一個胖子當(dāng)著我的面吹牛席函,可吹牛的內(nèi)容都是我干的铐望。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼茂附,長吁一口氣:“原來是場噩夢啊……” “哼正蛙!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起营曼,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤乒验,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蒂阱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锻全,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年录煤,在試婚紗的時候發(fā)現(xiàn)自己被綠了鳄厌。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡妈踊,死狀恐怖部翘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情响委,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布窖梁,位于F島的核電站赘风,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏纵刘。R本人自食惡果不足惜邀窃,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瞬捕,春花似錦鞍历、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至扇救,卻和暖如春刑枝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背迅腔。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工装畅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人沧烈。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓掠兄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親锌雀。 傳聞我的和親對象是個殘疾皇子蚂夕,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容

  • Git 是目前最流行的分布式版本控制系統(tǒng)之一。 版本控制指的是汤锨,記錄每次版本變更的內(nèi)容和時間等細節(jié)双抽,保留各版本之間...
    神齊閱讀 1,409評論 0 7
  • 一.Git簡介 Git是世界上最先進的分布式版本控制系統(tǒng),相對于SVN這樣的集中式版本控制系統(tǒng)闲礼,Git不需要“中央...
    ahuustcly閱讀 717評論 0 0
  • 最近使用Git時感到有些生疏牍汹,所以利用晚上空余時間將廖雪峰Git教程重新系統(tǒng)的學(xué)習(xí)一邊并做了筆記,溫故知新柬泽。 Gi...
    LannisZheng閱讀 662評論 1 3
  • 我的GIT筆記 995662315@qq.com 我們一開始需要先自曝家門: 首先可以CD到我們想要用到的地方 G...
    zhchhhemmm閱讀 81評論 0 0
  • Git教程 一慎菲、Git簡介 1.1. Git的誕生1.2.集中式的vs分布式 二、安裝Git 三锨并、創(chuàng)建版本庫 四露该、...
    曹淵說創(chuàng)業(yè)閱讀 940評論 0 2