git使用教程(提交索赏,遠程盼玄,分支,回退潜腻,回滾埃儿,克隆,忽略)

1.git的安裝

網(wǎng)站下載git,一路回車安裝融涣,安裝好后點擊鼠標右鍵會有Git bash here ,點擊Git bash here命令行輸入git --version會有git的版本信息童番。

2.git版本管理的基本操作

git ?init 建立本地git repository倉庫并對文件進行追蹤用

git ?status ?查看狀態(tài)

git ?add . / git ?add -A ?這兩個命令是全部添加到暫存區(qū),也可以添加指定文件到暫存區(qū) git add index.html

git ?commit ?-m"對這次提交的描述" ? ,這樣就將修改提交到本地的 repository倉庫中, 描述就是為了方便后期再次查看時好理解

git remote add origin? https://github.com/***/ch1701.git ? ?把本地的倉庫和gitHub倉庫想關聯(lián)

git ? pull ?origin ?master ? ? ? ?從gitHub倉庫的master分支拉取代碼到本地

git? pull origin master? ? ??--allow-unrelated-histories? ? ? ? ?//強制拉取線上到本地合并()

git ?push ?-u ?origin ?master ? ? 提交到gitHub倉庫的master分支威鹿,第一次的時候需要 -u 參數(shù)剃斧,后面再提交就不需要 -u 了

git ?push ?-u ?origin ?master? -f? ? ? //強制把本地推到線上覆蓋(當回退線上倉庫時會用到)

git? cat? help.txt ? ? ? ? 查看內(nèi)容

git ?rm ? help.txt ? ? ? ? 刪除help.txt文件

reset ? ?清屏,實質(zhì)是清除屏幕記錄忽你; ctrl ?+ ?l ?也是清屏幼东,實質(zhì)是把記錄上移,以確保當前顯示框干凈

git? diff? ?help.text? 查看當前版本與上個版本的不同

git? config? user.name? ? ? ? ? 查看當前用戶名

git? ?config? ?user.email? ? ? ? 查看當前郵箱

npm? ?cache? ?clean? ?--force? ? ? ?清除緩存

git? rm? -r? --cached .? ?? 清除git緩存

git? config? ?--global? ?core.ignorecase? ?false? ? ? ?設置git區(qū)分大小寫

至于上文中的gitHub倉庫的來源科雳,直接去github網(wǎng)站上注冊一個賬號根蟹,點右上角加號new repository,然后取個名字回車就好了

3.分支操作

創(chuàng)建本地分支: ?git ?branch ?aaa ? ?,這里aaa為新建的分支名字

創(chuàng)建分支并切換到新分支: ?git? checkout? ?-b? ?aaa ? ?,這里aaa為新建的分支名字

查看本地分支:git ?branch ? ? ? ? ?不給參數(shù)默認本地分支

合并分支:? ?git? ?merge? ?aaa? ? ? (想把aaa分支合并到master分支糟秘,要先切換到master分支再執(zhí)行合并操作)

放棄分支合并:? ?git? ?merge? ?–abord? ? aaa

查看遠程分支:git? branch? -r? ? ? ,r代表remote即遠程分支

查看所有分支:git? branch? -a ? ? ?,a代表all即所有分支

切換分支:git ?checkout ? aaa ? ,從master分支切換到aaa分支? ? ? (切換分支前確保當前分支的修改都已提交)

創(chuàng)建遠程分支 / 推送新分支放到遠程:git ?push ?origin ?aaa ? ? ,會自動 在遠程添加aaa分支

刪除本地分支:git ?branch? -d ? aaa ? ?刪除aaa分支前確保切換到非aaa分支上再執(zhí)行此命令

刪除遠程分支:git? push? origin? :aaa? (origin 后面有空格)

刪除遠程分支:? $ git? push? origin? --delete? aaa

當頁面內(nèi)容很多時富俄,可以用按 f 鍵下一頁北戏,按 b 鍵上一頁桃焕,:wq是退出當前

4.查看提交記錄操作

git ?log ? ?查看詳細提交日志契沫,按f鍵想下翻頁,按b鍵向上翻頁吼畏,按q退出

git ?log ?--oneline ? ? 顯示只有一行的簡單提交日志

git? log? --oneline ? -6 ? ? 顯示最近的6條提交日志

git? log? --oneline? --author="hu" ? ?顯示指定作者的提交日志

git? log? --oneline? --grep="index.html"? ? 顯示index.html的提交日志

git? log? --oneline? --before='2017-07-20'? ? 顯示2017-07-20日期之前(包含這一天)的提交日志

git? log? --oneline? --before='3 days'? ? 顯示最近3天的提交日志

git? log? --oneline? --before='1 weeks'? ? 顯示最近1周的提交日志

git? log? --oneline ?--graph ? ? 顯示帶圖形效果的提交日志

當回滾督赤、回退后會看不到當前版本后的提交記錄,這時可以執(zhí)行 git ?reflog 這個命令會記錄每一次操作記錄? ?

5.checkout操作 (回退版本方法一)

對于在工作區(qū)(未加入暫存區(qū))的修改泻蚊,想要放棄修改使用這個方法:

git checkout . ?撤銷對所有已修改但未放入暫存區(qū)的文件的修改躲舌,但不包括新增的文件

git ?checkout ?-- . ? ?同上

git checkout ?[filename] ? ?撤銷對指定文件的修改,[filename]為文件名

git ?checkout ?-- ?[filename] ? ? 同上

對于已經(jīng)git ?add 加入暫存區(qū)的文件想要放棄修改的話需要這樣操作:

? ? git? reset? HEAD? index.html? ? 可以把暫存區(qū)的修改撤銷掉性雄,重新放回工作區(qū),然后就回到上面的那個方法了

對于已經(jīng)commit 的文件,如果想要回退就要使用以下這個方法:

? ? 先git ?log ?--oneline ?查看提交信息

git ?log --oneline

? ? git? checkout? a9db330? ? 會回退到測試2的提交没卸,并創(chuàng)建一個臨時分支放測試2節(jié)點的代碼,此時輸入git? branch? 可以看到分支在臨時分支上秒旋,本地代碼也變回測試2的约计。如果又想回到最近的那次提交只需要切換回主分支master就好了,執(zhí)行git ?checkout ?master 迁筛,本地代碼會變回最新的提交版本測試4的狀態(tài)煤蚌,同時臨時分支會消失。如果想保存測試2那個分支,那就在切換master分之前新建一個分支執(zhí)行git ?checkout ?-b ? aaa尉桩,再執(zhí)行git ?branch會發(fā)現(xiàn)臨時分支也不見了筒占,只有master和aaa,其中master是最新測試的狀態(tài),aaa就是測試2的狀態(tài)蜘犁。如下圖:

只查看會退的版本翰苫,臨時分支不保存
查看回退的版本,并新建分支保存臨時分支

注意: ?

這里需要注意一點这橙,當回退到測試版本2后奏窑,測試版本2后的提交記錄都會不見的,我們就不能通過git? log找到測試版本4的commit_id了屈扎,我們可以用 git? reflog查看每一次操作的記錄找到測試版本4的commit_id 良哲。想要回到最近的一次提交測試4只需要切換到master分支就好了,如下圖助隧。

回退后的git ?log ?--oneline
回退后git ? reflog

6.reset操作 (回退版本方法二)

先git? log? --oneline? 查看提交信息

git ?log ? --oneline

執(zhí)行git? reset? --hard ?HEAD^ ? ?會回退到最近的提交版本的前一個版本(3065b27)

執(zhí)行git? reset? --hard? HEAD^? ? 會回退到最近的提交版本的前兩個版本(3065b27)

執(zhí)行git? reset? --hard? HEAD~20 ??會回退到最近的提交版本的前20個版本

也可以根據(jù)提交的commit_id來回退:

執(zhí)行 git ? reset ?--hard ?a9db330 ? ?, ?a9db330是通過git ?log查看到的額測試2提交的commit_id

git ?reset ?--hard ?a9db330

這里需要注意的是:執(zhí)行此方法后不會像checkout那樣新建一個臨時分支,而是直接把本地的代碼會退到指定的版本滑沧,如果回退完后又想返回最新版本并村,執(zhí)行 git? reset? --hard? commit_id4, 這里的commit_id4是最新提交版本的id, 可以在回退之前截個圖保存下來滓技,或者通過?git? reflog 查看哩牍。當回退到測試版本2后,測試版本2后的提交記錄都會不見的令漂,我們就不能通過git? log找到測試版本4的commit_id了膝昆,這時候又想回到測試提交4的版本怎么辦,我們就可以用 git? reflog查看每一次操作的記錄找到測試版本4的commit_id4然后再 git? reset? --hard? commit_id4 就又回到最新的提交版本

回退版本后又返回最新的版本

7.remote操作

git? remote? 查看遠程分支(沒有改動的話默認是master)

git ?remote ?-v ? ?查看git遠程倉庫地址

修改遠程倉庫地址:

? 1.修改命令

? ? ? git ?remote? ?set-url? ? origin? ? [url]

? 2.先刪后加

? ? ? git remote rm origin

? ? ? git remote add origin [url]

git? remote? -v

8.clone 克隆

把git倉庫的代碼克隆到本地叠必,只需要執(zhí)行 ? ?

git? clone ? https://github.com/×××.git ? ? ?這樣會在當前目錄下建立一個跟git倉庫同名的文件夾荚孵,文件夾里是代碼

git? clone? https://github.com/×××.git? ? test ? ?,這樣會在當前目錄下新建一個test文件夾用來放git遠程代碼 ?

9.gitignore 忽略

在我們使用github提交本地代碼時纬朝,有些庫文件和日志文件是不必要提交的收叶,這個時候我們就會用到.gitignore文件了。

首先,.gitignore文件應該是創(chuàng)建在你的項目的根目錄下面的共苛,執(zhí)行命令創(chuàng)建 .gitignore文件,也可以直接在文件管理中去創(chuàng)建

vim .gitignore

或者? ? touch? .gitignore

添加忽略的目錄和文件:

node_modules/? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//該文件下所有文件

dist/

.project? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//所有以.project結(jié)尾的文件

*.log? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??//所有以.project結(jié)尾的文件

判没!aaa.log? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //不過濾aaa.log文件,該文件會被提交到線上倉庫

platforms/

plugins/

這些文件都是庫文件以及自動生成的模塊隅茎,都是不必要提交的澄峰。

對于已經(jīng)提交,現(xiàn)在又不想提交的文件(不想讓它出現(xiàn)在遠程版本庫里)辟犀,應該這樣操作:

? ? ?去項目根目錄下創(chuàng)建.gitignore文件俏竞,并且添加需要忽略提交的文件(方法同上),然后執(zhí)行

git? rm? -r? --cached? node_modules ? ? ? ? ? ? ? ? ? ?(node_modules為要刪除的文件名)

? ? ? 然后再 push 到遠程,這時去github的庫里去就會發(fā)現(xiàn)剛剛刪除的東西不見了

如果gitignore不生效胞此,執(zhí)行以下代碼清理git緩存

git rm -r --cached .

git add .

git commit -m 'update .gitignore'


10.git bash here窗口與cmd窗口的基本命令(windows)

基本命令
git?bash基本命令

以上都是我平時遇到的臣咖,我總結(jié)了一下寫了出來,方便大家查看漱牵。這只是一部分夺蛇,還有很多等我想起來了再往上添加。

文中如果有寫錯或不對的地方懇請您留言指出批評酣胀,如果此文對你有幫助刁赦,請加關注收藏點贊。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末闻镶,一起剝皮案震驚了整個濱河市甚脉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌铆农,老刑警劉巖牺氨,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異墩剖,居然都是意外死亡猴凹,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門岭皂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來郊霎,“玉大人,你說我怎么就攤上這事爷绘∈槿埃” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵土至,是天一觀的道長购对。 經(jīng)常有香客問我,道長毙籽,這世上最難降的妖魔是什么洞斯? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮坑赡,結(jié)果婚禮上烙如,老公的妹妹穿的比我還像新娘。我一直安慰自己毅否,他們只是感情好亚铁,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著螟加,像睡著了一般徘溢。 火紅的嫁衣襯著肌膚如雪吞琐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天然爆,我揣著相機與錄音站粟,去河邊找鬼。 笑死曾雕,一個胖子當著我的面吹牛奴烙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播剖张,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼切诀,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了搔弄?” 一聲冷哼從身側(cè)響起幅虑,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎顾犹,沒想到半個月后倒庵,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡炫刷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年哄芜,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柬唯。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖圃庭,靈堂內(nèi)的尸體忽然破棺而出锄奢,到底是詐尸還是另有隱情,我是刑警寧澤剧腻,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布拘央,位于F島的核電站,受9級特大地震影響书在,放射性物質(zhì)發(fā)生泄漏灰伟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一儒旬、第九天 我趴在偏房一處隱蔽的房頂上張望栏账。 院中可真熱鬧,春花似錦栈源、人聲如沸挡爵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽茶鹃。三九已至涣雕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間闭翩,已是汗流浹背挣郭。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留疗韵,地道東北人兑障。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像伶棒,于是被迫代替她去往敵國和親旺垒。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

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

  • git作為時下最流行的代碼管理工具肤无,Git權威指南總結(jié)了十條喜歡Git的理由: 異地協(xié)同工作先蒋; 現(xiàn)場版本控制; 重...
    古斟布衣閱讀 1,822評論 0 12
  • 在雨中拾一首詩宛渐,在詩中流淚 在詩中竞漾,走過結(jié)滿梅子的青澀雨巷 偶爾,有幾句會非常陽光 陽光得有點象雨過天晴窥翩。 但雨天...
    金永輝煌閱讀 922評論 4 16
  • 440王金偉寫作思路 “仔細看了三遍之后业岁,當我想清楚我的目標是什么,我有可能給予什么之后寇蚊,我選擇進來笔时,一是我對您關...
    木頭的隨筆閱讀 215評論 0 0
  • 噩運會來,那么噩運會去仗岸,但在噩運中喪失了品格允耿,事事無行,卒為親師儔友所不齒扒怖,待到噩運過后较锡,又能如何呢,不甘寂寞盗痒,找...
    obstinate_lzy閱讀 277評論 0 0