亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Git常用命令小結(jié)

付倫 / 3062人閱讀

摘要:使用此命令能看到那些修改被暫存到了哪些沒(méi)有哪些文件沒(méi)有被到。需要說(shuō)明一點(diǎn),是本地的,不會(huì)通過(guò)命令上傳到上。查看現(xiàn)有的所有儲(chǔ)藏,此命令顯然暗示了可以多次保存工作進(jìn)度,并用在恢復(fù)時(shí)候選擇。

Git 版本庫(kù)原理

Git的版本庫(kù)里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區(qū),還有Git為我們自動(dòng)創(chuàng)建的第一個(gè)分支master,以及指向master的一個(gè)指針叫HEAD。
工作區(qū)有一個(gè)隱藏目錄.git,這個(gè)不算工作區(qū),而是Git的版本庫(kù)

創(chuàng)建版本庫(kù):
#創(chuàng)建文件
$ mkdir myapp

#進(jìn)入文件
$ cd myapp

#初始化代碼倉(cāng)庫(kù)
$ git init

#把需要提交的所有修改放到暫存區(qū)(Stage)
$ git add file

#提交所有文件
#$ git add . 

#提交所有.js格式文件
#$ git add *.js

#強(qiáng)制添加
#$ git add -f file

#提交代碼
$ git commit -m "commit info"
查看
#查看歷史記錄,git log命令顯示從最近到最遠(yuǎn)的提交日志
$ git log

#查看分支合并圖
$ git log --graph

#Git提供了一個(gè)命令git reflog用來(lái)記錄你的每一次命令:
$ git reflog

#git status命令用于顯示工作目錄和暫存區(qū)的狀態(tài)。使用此命令能看到那些修改被暫存到了, 哪些沒(méi)有, 哪些文件沒(méi)有被Git tracked到。git status不顯示已經(jīng)commit到項(xiàng)目歷史中去的信息。
$ git status

#當(dāng)暫存區(qū)中沒(méi)有文件時(shí),git diff比較的是,工作區(qū)中的文件與上次提交到版本庫(kù)中的文件。
#當(dāng)暫存區(qū)中有文件時(shí),git diff則比較的是,當(dāng)前工作區(qū)中的文件與暫存區(qū)中的文
$ git diff

#比較工作區(qū)中的文件與版本庫(kù)中文件的差異。HEAD指向的是版本庫(kù)中的當(dāng)前版本,而file指的是當(dāng)前工作區(qū)中的文件。
$ git diff HEAD -- file
版本回退:
#Git必須知道當(dāng)前版本是哪個(gè)版本,在Git中,用HEAD表示當(dāng)前版本,上一個(gè)版本就是HEAD^,上上一個(gè)版本就是HEAD^^,當(dāng)回退版本較早時(shí)可以寫成HEAD~100。

#版本回退
$ git reset --hard HEAD^

#取消回退,commitId為你想要回到的未來(lái)版本號(hào)
$ git reset --hard commitId
撤銷修改

命令git checkout ——file 把文件在工作區(qū)的修改全部撤銷,這里有兩種情況:

* 一種是file修改后還沒(méi)有被放到暫存區(qū),現(xiàn)在,撤銷修改就回到和版本庫(kù)一模一樣的狀態(tài);
* 一種是file已經(jīng)添加到暫存區(qū)后,又作了修改,現(xiàn)在,撤銷修改就回到添加到暫存區(qū)后的狀態(tài)。
#文件在工作區(qū)的修改全部撤銷
$ git checkout --file
刪除文件

命令git rm用于從版本庫(kù)刪除一個(gè)文件。
如果一個(gè)文件已經(jīng)被提交到版本庫(kù),那么你永遠(yuǎn)不用擔(dān)心誤刪,但是要小心,你只能恢復(fù)文件到最新版本,你會(huì)丟失最近一次提交后你修改的內(nèi)容。

#從版本庫(kù)刪除一個(gè)文件
$ git rm file
提示:先手動(dòng)刪除文件,然后使用git rm 和git add效果是一樣的。
添加遠(yuǎn)程倉(cāng)庫(kù)
#關(guān)聯(lián)一個(gè)遠(yuǎn)程庫(kù)
$ git remote add origin 
#第一次將本地庫(kù)的所有內(nèi)容推送到遠(yuǎn)程庫(kù)上 $ git push -u origin master [-f] #此后,每次本地提交后,就可以使用命令推送最新修改 $ git push origin master
從遠(yuǎn)程庫(kù)克隆
#
git clone [url]

比如,要克隆 Ruby 語(yǔ)言的 Git 代碼倉(cāng)庫(kù) Grit,可以用下面的命令:

#這會(huì)在當(dāng)前目錄下創(chuàng)建一個(gè)名為grit的目錄,其中包含一個(gè).git的目錄,用于保存下載下來(lái)的所有版本記錄,然后從中取出最新版本的文件拷貝。如果進(jìn)入這個(gè)新建的grit目錄,你會(huì)看到項(xiàng)目中的所有文件已經(jīng)在里邊了,準(zhǔn)備好后續(xù)的開發(fā)和使用。

$ git clone git://github.com/schacon/grit.git

如果希望在克隆的時(shí)候,自己定義要新建的項(xiàng)目目錄名稱,可以在上面的命令末尾指定新的名字:

#唯一的差別就是,現(xiàn)在新建的目錄成了mygrit,其他的都和上邊的一樣。
$ git clone git://github.com/schacon/grit.git mygrit
分支管理

創(chuàng)建+切換分支:

$ git checkout -b 

創(chuàng)建分支:

$ git branch 

切換分支

$ git checkout 

查看分支:

#git branch命令會(huì)列出所有分支,當(dāng)前分支前面會(huì)標(biāo)一個(gè)*號(hào)。
$ git branch

切換分支

#切換回master分支
$ git checkout 

合并某分支到當(dāng)前分支

$ git merge 

刪除分支

$ git branch -d 

Git分支十分強(qiáng)大,在團(tuán)隊(duì)開發(fā)中應(yīng)該充分應(yīng)用。
合并分支時(shí),加上—no-ff參數(shù)就可以用普通模式合并,合并后的歷史有分支,能看出來(lái)曾經(jīng)做過(guò)合并,而fast forward合并就看不出來(lái)曾經(jīng)做過(guò)合并。

儲(chǔ)藏

儲(chǔ)藏可以獲取你工作目錄的中間狀態(tài)——也就是你修改過(guò)的被追蹤的文件和暫存的變更——并將它保存到一個(gè)未完結(jié)變更的堆棧中,隨時(shí)可以重新應(yīng)用。

現(xiàn)在你想切換分支,但是你還不想提交你正在進(jìn)行中的工作;所以你儲(chǔ)藏這些變更。為了往堆棧推送一個(gè)新的儲(chǔ)藏,只要運(yùn)行g(shù)it stash。把所有未提交的修改(包括暫存的和非暫存的)都保存起來(lái),用于后續(xù)恢復(fù)當(dāng)前工作目錄。

git stash
需要說(shuō)明一點(diǎn),stash是本地的,不會(huì)通過(guò)git push命令上傳到git server上。

查看現(xiàn)有的所有儲(chǔ)藏,此命令顯然暗示了git stash可以多次保存工作進(jìn)度,并用在恢復(fù)時(shí)候選擇。

$ git stash list

重新應(yīng)用已經(jīng)實(shí)施的儲(chǔ)藏(不刪除儲(chǔ)藏)

#如果你想應(yīng)用更早的儲(chǔ)藏,你可以通過(guò)名字指定它,像這樣:git stash apply stash@{2}。如果你不指明,Git 默認(rèn)使用最近的儲(chǔ)藏并嘗試應(yīng)用它
$ git stash apply [--index] []

重新應(yīng)用已經(jīng)實(shí)施的儲(chǔ)藏(刪除儲(chǔ)藏)

#如果不使用任何參數(shù),會(huì)恢復(fù)最新保存的工作進(jìn)度,并將恢復(fù)的工作進(jìn)度從存儲(chǔ)的工作進(jìn)度列表中清除。
#如果提供參數(shù)(來(lái)自git stash list顯示的列表),則從該中恢復(fù)?;謴?fù)完畢也將從進(jìn)度列表中刪除。
#選項(xiàng)--index除了恢復(fù)工作區(qū)的文件外,還嘗試恢復(fù)暫存區(qū)。
$ git stash pop [--index] []

刪除一個(gè)存儲(chǔ)的進(jìn)度。(默認(rèn)刪除最新的進(jìn)度)

$ git stash drop []

清空當(dāng)前所有的stash

$ git stash clear

基于儲(chǔ)藏進(jìn)度創(chuàng)建分支。

$ git stash branch  
多人協(xié)作

查看遠(yuǎn)程庫(kù)的信息:

#或者用git remote -v 可顯示更詳細(xì)的信息
$ git remote

推送分支,該分支上的所有本地提交推送到遠(yuǎn)程庫(kù)

$ git push origin 

從本地推送分支,如果推送失敗,先抓取遠(yuǎn)程的新提交:

$ git pull

推薦閱讀:
2019年前端面試題-01
2019年前端面試題-02
2019年前端面試題-03
2019年前端筆試題

我是Cloudy,年輕的前端攻城獅一枚,愛(ài)專研,愛(ài)技術(shù),愛(ài)分享。 
個(gè)人筆記,整理不易,感謝閱讀、點(diǎn)贊和收藏。
文章有任何問(wèn)題歡迎大家指出,也歡迎大家一起交流前端各種問(wèn)題!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/104554.html

相關(guān)文章

  • Git常用命令小結(jié)

    摘要:使用此命令能看到那些修改被暫存到了哪些沒(méi)有哪些文件沒(méi)有被到。需要說(shuō)明一點(diǎn),是本地的,不會(huì)通過(guò)命令上傳到上。查看現(xiàn)有的所有儲(chǔ)藏,此命令顯然暗示了可以多次保存工作進(jìn)度,并用在恢復(fù)時(shí)候選擇。 Git 版本庫(kù)原理 Git的版本庫(kù)里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區(qū),還有Git為我們自動(dòng)創(chuàng)建的第一個(gè)分支master,以及指向master的一個(gè)指針叫HEAD。...

    Airmusic 評(píng)論0 收藏0
  • Git常用命令

    摘要:工作區(qū)狀態(tài)被改變,用這查看修改內(nèi)容。添加文件到倉(cāng)庫(kù),分兩步使用命令,注意,可反復(fù)多次使用,添加多個(gè)文件。使用命令,完成。版本回退命令顯示從最近到最遠(yuǎn)的提交日志。要重返未來(lái),用查看命令歷史,以便確定要回到未來(lái)哪個(gè)版本。 創(chuàng)建版本庫(kù)mkdir learngit 創(chuàng)建learngit目錄cd learngit 進(jìn)入文件夾里pwd 查看目錄路徑git init 初始化倉(cāng)庫(kù)git add re....

    寵來(lái)也 評(píng)論0 收藏0
  • gulp自動(dòng)化打包(上)

    摘要:自動(dòng)化打包上文章概述本文分為上下兩篇,上篇主要介紹一些常用的插件也是此次打包主要用的插件,而下篇主要以一個(gè)項(xiàng)目為例,從本地出合適的版本,壓縮合并到最后打成包,發(fā)送至指定目錄,做一個(gè)全面的演示。 gulp自動(dòng)化打包(上) 文章概述 本文分為上下兩篇,上篇主要介紹一些常用的gulp插件(也是此次打包主要用的gulp插件),而下篇主要以一個(gè)demo項(xiàng)目為例,從本地checkout出合適的g...

    roland_reed 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<