国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

git 詳解及實用指南之一 (本地操作)

missonce / 481人閱讀

摘要:緩存區(qū)上的操作使用將代碼添加到暫存區(qū)之中本次操作使用了一個,那么就表示全部加入。我的王大冶但是這個時候此文件并沒有使用進(jìn)行加入?,F(xiàn)在假設(shè)修改了我的王大冶就是要改代碼,不干走人了,老子不吃你這套但是只要是文件一修改,那么就可以立即跟蹤到狀態(tài)。

后續(xù)會持續(xù)更新

1.設(shè)置開發(fā)者的個人信息

在任何一個系統(tǒng)之中都會存在有多個開發(fā)者(多人協(xié)作開發(fā)),而在 GIT 之中,對于每一個開發(fā)者(電腦),都需要 開發(fā)者自己定義自己的名字與 email 地址,以便進(jìn)行方便的聯(lián)系,此時需要配置全局信息。

配置全局用戶名及 email 地址

git config --global user.name "wzy"
git config --global user.email "449245884@.com"

設(shè)置完成之后如果成功不會任何提示信息,可以通過如下命令查看全局配置信息:

git config -l

可以發(fā)現(xiàn)除了之前配置的用戶名和 email 地址之外,還存在有其它的內(nèi)容。

2.創(chuàng)建倉庫

版本庫 = 倉庫;

在此倉庫中的所有內(nèi)容都會被git 管理;

在倉庫中的所有文件修改、刪除、更新都會被紀(jì)錄下來;

可以隨時恢復(fù)到某一特定狀態(tài);

初始化倉庫: git init

如果要開發(fā)項目,那么首先必須有一個倉庫(可以簡單的理解為是一個磁盤上的文件夾)。

mkdir myrpo

此時 mypro 文件夾是一個空的文件夾,沒有任何的內(nèi)容,只是一個純粹的目錄。

將 mypro 文件夾定義為倉庫, 進(jìn)入文件夾, 初始化倉庫(將此目錄變?yōu)榭梢员籊IT管理的倉庫)

而且此時會提示,在 mypro 文件夾之中創(chuàng)建了一個“.git”的目錄,這個目錄就是倉庫信息,死都不能改。

3.添加文件

現(xiàn)在倉庫創(chuàng)建完成之后,下面就要進(jìn)行文件的基本管理了。首先在編寫之前有一個說明:所有的文件一定要使用 UTF-8 編碼,否則有可能會出現(xiàn)問題。

建立一個 Hello.js文件

btn.onclick = function() {
   console.log("每一次新增!");
}

察看當(dāng)前倉庫的狀態(tài)

git status

在 "git status" 狀態(tài)查詢操作上可以發(fā)展有如下的幾個提示信息:

現(xiàn)在開發(fā)的屬于主分支:On branch master

初始化倉庫的提交:No commits yet

未標(biāo)記的文件:Untracked files:

隨后給出的一些操作的命令:(use "git add ..." to include in what will be committed)

未標(biāo)記文件的列表,現(xiàn)在只有一個: hello.js

添加文件到倉庫

增加文件到暫存區(qū): git add 文件名稱

提交文件: git commit -m "注釋"

將文件加入到暫存庫之中

git add hello.js 

繼續(xù)查詢狀態(tài)

此時有了一個最重要的信息:

現(xiàn)在的文件并沒有真正的提交到主分支上(主分支就是我們真正要運行的程序的所有的代碼)。

注意:所有修改的代碼都會被 GIT 自動的監(jiān)測到,所有的代碼在使用 commit 提交之前一定要先使用 add 增加進(jìn)來,否則不會有任何的提交。
如果現(xiàn)在不希望分兩步進(jìn)行則可以在運行以下程序時增加一個“-a”的參數(shù),表示先 add 而后 commit(git commit -a -m "注釋")。

提交文件信息

git commit -m "New Js file - Hello.js Create"

在進(jìn)行每次更新提交的時候一般都會為其增加上一些注釋數(shù)據(jù),所以使用“-m”參數(shù)來進(jìn)行注釋的編寫。

此時這個“Hello.js”文件就被真正的提交到了主分支上,也就是意味著程序發(fā)布成功了。

查詢狀態(tài)

此時的狀態(tài)會提示:沒有任何的信息需要被提交,工作目錄很干凈。而在 git 工具下用戶每一次進(jìn)行的提交實際上都 會被日志紀(jì)錄下來。

察看針對于“hello.js”文件的日志信息

首先會出現(xiàn)一個提交的信息號 “2e3e7018a965673a4154c84105b5d1a23f13167a”,可以理解為是每一次提交的 id 號。如果有多次提交,那么這個日志信息也會越來越多。

4.修改倉庫文件

上面代碼已經(jīng)可以成功的進(jìn)行了發(fā)布,但是代碼出現(xiàn)就是為了修改。于是現(xiàn)在來觀察對于 git 工具如何去控制修改。

修改 hello.js 文件

btn.onclick = function() {
   console.log("每一次新增!");
   console.log("第一次修改·!");
}

此時發(fā)現(xiàn)文件增加了一行的修改。

查詢一下當(dāng)前的倉庫狀態(tài)

現(xiàn)在 GIT 直接提示用戶,文件沒有保存到暫存區(qū)之中,而且提示有:要么你選擇文件暫存,要么你直接進(jìn)行文件的 恢復(fù),同時給出了已經(jīng)修改的文件“hello.js”。

察看文件的前后區(qū)別

git diff hello.js 

現(xiàn)在可以發(fā)現(xiàn)所有增加的內(nèi)容都會使用“+”表示,而被刪除的信息都會使用“-”表示。

將修改后的代碼加入到暫存區(qū)后進(jìn)行提交

git commit -a -m "Update hello.js file. Add one lines"

察看修改日志

git log hello.js 

通過以上的代碼演示,現(xiàn)在可以清楚的發(fā)現(xiàn),只要是修改的操作 GIT 都可以進(jìn)行及時的跟蹤。

5. 工作區(qū)與暫存區(qū) 工作區(qū)與倉庫

工作區(qū): 就是當(dāng)前電腦的操作目錄(包含 .git);
倉庫:工作區(qū)有一個隱藏目錄 .git,這個不算工作區(qū),而是 git 的倉庫,git 版本庫里保存了很多東西,其中最重要的就是稱為 stage 的暫存區(qū),還有 git 為用戶自動創(chuàng)建的主程序分支 master ,以及指向 master 的 head 指針。

概念解釋:

在之前所編寫的“hello.js”文件保存在用戶工作區(qū)之中;

當(dāng)使用 add 命令之后,實際上就是將所有的文件提交到暫存區(qū)(state) 之中;

使用 commit 命令之后,才表示真正的發(fā)出了修改,而真正可以運行的程序都保存在 master 分支上;

6. 工作區(qū)上的操作

修改 Hello.js

btn.onclick = function() {
   console.log("第二次修改·!");
}

增加一個 demo.js 文件

btn2.onclick = function() {
  console.log("demo click");
}

現(xiàn)在的工作區(qū)中的代碼已經(jīng)發(fā)生了變化。

用 status 跟蹤

現(xiàn)在會提示有以下信息:

修改了 Hello.js 文件,而這個文件給出了處理方式;

出現(xiàn)了一個未標(biāo)記的文件(Demo.js),詢問用戶是否將其加入到暫存區(qū)之中。

7. 緩存區(qū)上的操作

使用“git add”將代碼添加到暫存區(qū)之中

git add .

本次操作使用了一個“.”,那么就表示全部加入。修改之后再次觀察狀態(tài)。

觀察狀態(tài)

8. 提交修改

數(shù)據(jù)保存在暫存區(qū)之后,下面就要進(jìn)行代碼的提交,將代碼提交到主分支上。

當(dāng)把暫存區(qū)的代碼提交到主分支上之后,會自動的清空暫存區(qū)之中的內(nèi)容。

提交修改代碼

git commit -m "add demo.js file"

那么此時再次查詢狀態(tài)。

那么會直接發(fā)現(xiàn)沒有任何的文件修改的提示。

9. 版本回退

每當(dāng)用戶進(jìn)行代碼提交的時候都會自動的生成一個 commit id,而這個 commit id 就是進(jìn)行代碼回退的主要操作方式。

查詢當(dāng)前修改后的日志信息

git log --pretty=oneline

大家可以發(fā)現(xiàn)所有的 commit id 并不是順序的 1、2、3 編號,而是由系統(tǒng)生成一個十六進(jìn)制數(shù)據(jù),這一概念就跟 Session ID 類似,由 GIT 自己控制,主要是為了防止版本號的沖突。

在 master 分之上會有一個 HEAD 指針存在,而這個指針默認(rèn)情況下永遠(yuǎn)指向最后一次提交的位置。

當(dāng)使用回退之后發(fā)現(xiàn) HEAD 指針出現(xiàn)了改變,如果回退一步,那么之前的操作不會被刪除,但是所有的代碼將回歸到指定位置的狀態(tài)。

**回退一步

git reset --hard HEAD~1

那么如果說現(xiàn)在還想恢復(fù)最新的狀態(tài)呢?那么就必須找到回退的 commit id。

找到所有的已經(jīng)刪除的信息 commitid

git reflog

恢復(fù)最后一次提交

 git reset --hard cc54c43
 
 
10.提示:文件修改問題

在有了暫存區(qū)和 master 主分支概念之后,就需要回避一個問題:只有保存在暫存區(qū)之中的內(nèi)容才可以被真正的修改, 而不是針對于文件。

編寫 hello.js 文件

btn.onclick = function() {
   console.log("我的小智");
}

以上是 =hello.js 文件的第一次修改。

將修改的文件增加到暫存區(qū)之中

git add.

此時并沒有提交,而后再次修改 hello.js 文件。

   btn.onclick = function() {
     console.log("我的王大冶");
   }

但是這個時候此文件并沒有使用 add 進(jìn)行加入。

進(jìn)行提交(提交的時候只提交暫存區(qū)的內(nèi)容)

git commit -m "change print"   

可是這個時候只是提交了第一次修改,而第二次修改并沒有提交。

查詢狀態(tài)

進(jìn)行對比

git diff HEAD hello.js 

HEAD 是指向最后一次提交的指針,現(xiàn)在的含義是將 HEAD 中的 Hello.java 文件與工作區(qū)的 Hello.java 文件進(jìn)行對比。

總結(jié):如果一個文件修改多次了,那么就需要執(zhí)行多次的 add 后才可以提交,否則在 add 前的修改是不會被提交的。
11. 撤消修改

情況一:在未增加(git add) 與提交前(git commit) 用戶可以直接撤消對文件做出的修改操作。

撤消所做出的修改操作: git checkout -- 文件名

情況二:在已增加(git add)與未提交前(git commit) 用戶可以直接撤消對文件所做出的修改操作。

撤消暫存區(qū)的修改操作:git reset HEAD 文件名稱;

丟掉已經(jīng)修改的文件內(nèi)容: git checkout -- 文件名稱;

情況一:未增加(git add)&提交(git commit)

如果在工作區(qū)之中的代碼并沒有增加到暫存區(qū)之中,那么如果要恢復(fù)到原始狀態(tài)是很容易的。

現(xiàn)在假設(shè)修改了 hello.js

btn.onclick = function() {
   console.log("我的王大冶");
}

就是要改代碼,不干走人了,老子不吃你這套

但是只要是文件一修改,那么 git 就可以立即跟蹤到狀態(tài)。

但是后來發(fā)現(xiàn),此種修改實在是不應(yīng)該進(jìn)行,如果進(jìn)行了,只能有一個結(jié)論:此人腦袋有問題。但是寫代碼的時候 可能不知道上一次修改狀態(tài)。

恢復(fù)

git checkout -- hello.js

執(zhí)行之后發(fā)現(xiàn) Hello.java 文件就恢復(fù)到了一個原始的狀態(tài)(上一次的提交狀態(tài))。

情況二:已增加( git add )& 未提交( git commit )

現(xiàn)在假設(shè)要修改的文件已經(jīng)提交到了暫存區(qū)之中。

將 Hello.java 代碼提交到暫存區(qū)中

git add.

當(dāng)查詢狀態(tài)時:

在狀態(tài)查詢的時候已經(jīng)給出了用戶的提示,即:你可以根據(jù) HEAD 指針來恢復(fù)文件。

從暫存區(qū)之中退出

git reset HEAD hello.js 

于是再次查詢狀態(tài)

相當(dāng)于現(xiàn)在已經(jīng)由暫存區(qū)中保存的內(nèi)容恢復(fù)到了工作區(qū),那么既然在工作區(qū)了,就可以直接恢復(fù)原始狀態(tài)。

恢復(fù)原始

git checkout -- hello.js 


個人建議:養(yǎng)成良好的開發(fā)習(xí)慣,別像演示那樣這么對待代碼。
12. 刪除文件

現(xiàn)在在倉庫之中存在有 Demo.js 文件,但是假設(shè)這個文件從此之后不再使用了呢?只有一個解決方案:刪除。但是 在 GIT 里面對于刪除文件這一功能嚴(yán)格來講也屬于一個修改操作。

從磁盤上刪除 Demo.js 文件

 rm demo.js 

當(dāng)文件刪除之后下面查詢狀態(tài);

這個時候文件是從當(dāng)前工作區(qū)的磁盤中刪除了,同時也提示文件被刪除。

提交更新

git commit -a -m "Delete Demo.java File"

但是如果說發(fā)現(xiàn)文件被刪除錯誤了呢?則應(yīng)該進(jìn)行恢復(fù)。

恢復(fù)文件

git reset --hard bc8e842247b3d78  

如果文件被刪除,則只能夠利用版本控制的方式進(jìn)行恢復(fù)。

以上主要對總結(jié)于李興華老師的課程,大家有興趣可以去網(wǎng)易去上觀看

你的點贊是我持續(xù)分享好東西的動力,歡迎點贊!

一個笨笨的碼農(nóng),我的世界只能終身學(xué)習(xí)!

更多內(nèi)容請關(guān)注公眾號《大遷世界》!

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

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/98468.html

相關(guān)文章

  • git 詳解實用指南之四(標(biāo)簽管理)

    摘要:詳解及實用指南之一本地操作詳解及實用指南之二遠(yuǎn)程操作詳解及實用指南之三分支管理創(chuàng)建標(biāo)簽標(biāo)簽可以簡單的理解為屬于分支定義的別名,分支本身都會進(jìn)行指針的配置分支都會指向某一個但是標(biāo)簽卻是一個固定的內(nèi)容,可以說,標(biāo)簽永遠(yuǎn)指向一個。 1. git 詳解及實用指南之一 (本地操作)2. git 詳解及實用指南之二 (遠(yuǎn)程操作)3. git 詳解及實用指南之三(分支管理) 1.創(chuàng)建標(biāo)簽 標(biāo)簽可以簡...

    wawor4827 評論0 收藏0
  • git 詳解實用指南之四(標(biāo)簽管理)

    摘要:詳解及實用指南之一本地操作詳解及實用指南之二遠(yuǎn)程操作詳解及實用指南之三分支管理創(chuàng)建標(biāo)簽標(biāo)簽可以簡單的理解為屬于分支定義的別名,分支本身都會進(jìn)行指針的配置分支都會指向某一個但是標(biāo)簽卻是一個固定的內(nèi)容,可以說,標(biāo)簽永遠(yuǎn)指向一個。 1. git 詳解及實用指南之一 (本地操作)2. git 詳解及實用指南之二 (遠(yuǎn)程操作)3. git 詳解及實用指南之三(分支管理) 1.創(chuàng)建標(biāo)簽 標(biāo)簽可以簡...

    klivitamJ 評論0 收藏0
  • git 詳解實用指南之二 (遠(yuǎn)程操作

    摘要:繼上一篇詳解及實用指南之一本地操作今天說下,遠(yuǎn)程操作。但是遠(yuǎn)程的分支依然沒有發(fā)生改變。在本地磁盤上進(jìn)行倉庫的克隆操作不要在原來目錄下完成,而直接換一個新目錄,在實際開發(fā)之中最好的做法是所有的開發(fā)者直接克隆遠(yuǎn)程倉庫進(jìn)行操作。 繼上一篇 1. git 詳解及實用指南之一 (本地操作) 今天說下,git 遠(yuǎn)程操作。 1.生成 SSH key 這里是用 github 來做演示的,如果沒有 gi...

    cloud 評論0 收藏0
  • git 詳解實用指南之二 (遠(yuǎn)程操作

    摘要:繼上一篇詳解及實用指南之一本地操作今天說下,遠(yuǎn)程操作。但是遠(yuǎn)程的分支依然沒有發(fā)生改變。在本地磁盤上進(jìn)行倉庫的克隆操作不要在原來目錄下完成,而直接換一個新目錄,在實際開發(fā)之中最好的做法是所有的開發(fā)者直接克隆遠(yuǎn)程倉庫進(jìn)行操作。 繼上一篇 1. git 詳解及實用指南之一 (本地操作) 今天說下,git 遠(yuǎn)程操作。 1.生成 SSH key 這里是用 github 來做演示的,如果沒有 gi...

    Tikitoo 評論0 收藏0
  • git 詳解實用指南之一本地操作

    摘要:緩存區(qū)上的操作使用將代碼添加到暫存區(qū)之中本次操作使用了一個,那么就表示全部加入。我的王大冶但是這個時候此文件并沒有使用進(jìn)行加入。現(xiàn)在假設(shè)修改了我的王大冶就是要改代碼,不干走人了,老子不吃你這套但是只要是文件一修改,那么就可以立即跟蹤到狀態(tài)。 后續(xù)會持續(xù)更新 1.設(shè)置開發(fā)者的個人信息 在任何一個系統(tǒng)之中都會存在有多個開發(fā)者(多人協(xié)作開發(fā)),而在 GIT 之中,對于每一個開發(fā)者(電腦),都...

    anquan 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<