0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在Git中如何克隆,修改,添加和刪除文件的詳細(xì)資料概述

Linux愛好者 ? 來(lái)源:未知 ? 作者:易水寒 ? 2018-06-10 09:06 ? 次閱讀

在本系列的第一篇文章開始使用 Git 時(shí),我們創(chuàng)建了一個(gè)簡(jiǎn)單的 Git 倉(cāng)庫(kù),并用我們的計(jì)算機(jī)連接到它,向其中添加一個(gè)文件。在本文中,我們將學(xué)習(xí)一些關(guān)于 Git 的其他內(nèi)容,即如何克隆(下載)、修改、添加和刪除 Git 倉(cāng)庫(kù)中的文件。

讓我們來(lái)克隆一下

假設(shè)你在 GitHub 上已經(jīng)有一個(gè) Git 倉(cāng)庫(kù),并且想從它那里獲取你的文件——也許你在你的計(jì)算機(jī)上丟失了本地副本,或者你正在另一臺(tái)計(jì)算機(jī)上工作,但是想訪問(wèn)倉(cāng)庫(kù)中的文件,你該怎么辦?從 GitHub 下載你的文件?沒(méi)錯(cuò)!在 Git 術(shù)語(yǔ)中我們稱之為“克隆clone”。(你也可以將倉(cāng)庫(kù)作為 ZIP 文件下載,但我們將在本文中探討克隆方式。)

讓我們克隆在上一篇文章中創(chuàng)建的名為 Demo 的倉(cāng)庫(kù)。(如果你還沒(méi)有創(chuàng)建 Demo 倉(cāng)庫(kù),請(qǐng)?zhí)氐侥瞧恼虏⒃诶^續(xù)之前執(zhí)行那些步驟)要克隆文件,只需打開瀏覽器并導(dǎo)航到https://github.com//Demo(其中 是你倉(cāng)庫(kù)的名稱。例如,我的倉(cāng)庫(kù)是https://github.com/kedark3/Demo)。一旦你導(dǎo)航到該 URL,點(diǎn)擊“克隆或下載Clone or download”按鈕,你的瀏覽器看起來(lái)應(yīng)該是這樣的:

在Git中如何克隆,修改,添加和刪除文件的詳細(xì)資料概述

正如你在上面看到的,“使用 HTTPS 克隆Clone with HTTPS”選項(xiàng)已打開。從該下拉框中復(fù)制你的倉(cāng)庫(kù)地址(https://github.com//Demo.git),打開終端并輸入以下命令將 GitHub 倉(cāng)庫(kù)克隆到你的計(jì)算機(jī):

git clonehttps://github.com//Demo.git

然后,要查看 Demo 目錄中的文件列表,請(qǐng)輸入以下命令:

ls Demo/

終端看起來(lái)應(yīng)該是這樣的:

在Git中如何克隆,修改,添加和刪除文件的詳細(xì)資料概述

修改文件

現(xiàn)在我們已經(jīng)克隆了倉(cāng)庫(kù),讓我們修改文件并在 GitHub 上更新它們。首先,逐個(gè)輸入下面的命令,將目錄更改為Demo/,檢查README.md中的內(nèi)容,添加新的(附加的)內(nèi)容到README.md,然后使用git status檢查狀態(tài):

cd Demo/

ls

cat README.md

echo"Added another line to REAMD.md" >> README.md

cat README.md

git status

如果你逐一運(yùn)行這些命令,終端看起開將會(huì)是這樣:

在Git中如何克隆,修改,添加和刪除文件的詳細(xì)資料概述

讓我們看一下git status的輸出,并了解它的意思。不要擔(dān)心這樣的語(yǔ)句:

On branch master

Your branch isup-to-date with'origin/master'.".

因?yàn)槲覀冞€沒(méi)有學(xué)習(xí)這些。(LCTT 譯注:學(xué)了你就知道了)下一行說(shuō):Changes not staged for commit(變化未籌劃提交);這是告訴你,它下面列出的文件沒(méi)有被標(biāo)記準(zhǔn)備(“籌劃stage”)提交。如果你運(yùn)行g(shù)it add,Git 會(huì)把這些文件標(biāo)記為Ready for commit(準(zhǔn)備提交);換句話說(shuō)就是Changes staged for commit(變化籌劃提交)。在我們這樣做之前,讓我們用git diff命令來(lái)檢查我們添加了什么到 Git 中,然后運(yùn)行g(shù)it add。

這里是終端輸出:

在Git中如何克隆,修改,添加和刪除文件的詳細(xì)資料概述

我們來(lái)分析一下:

diff --git a/README.md b/README.md是 Git 比較的內(nèi)容(在這個(gè)例子中是README.md)。

--- a/README.md會(huì)顯示從文件中刪除的任何東西。

+++ b/README.md會(huì)顯示從文件中添加的任何東西。

任何添加到文件中的內(nèi)容都以綠色文本打印,并在該行的開頭加上+號(hào)。

如果我們刪除了任何內(nèi)容,它將以紅色文本打印,并在該行的開頭加上-號(hào)。

現(xiàn)在git status顯示Changes to be committed:(變化將被提交),并列出文件名(即README.md)以及該文件發(fā)生了什么(即它已經(jīng)被modified并準(zhǔn)備提交)。

提示:如果你已經(jīng)運(yùn)行了git add,現(xiàn)在你想看看文件有什么不同,通常git diff不會(huì)輸出任何東西,因?yàn)槟阋呀?jīng)添加了文件。相反,你必須使用git diff --cached。它會(huì)告訴你 Git 添加的當(dāng)前版本和以前版本文件之間的差別。你的終端輸出看起來(lái)會(huì)是這樣:

在Git中如何克隆,修改,添加和刪除文件的詳細(xì)資料概述

上傳文件到你的倉(cāng)庫(kù)

我們用一些新內(nèi)容修改了README.md文件,現(xiàn)在是時(shí)候?qū)⑺蟼鞯?GitHub。

讓我們提交更改并將其推送到 GitHub。運(yùn)行:

git commit -m"Updated Readme file"

這告訴 Git 你正在“提交”已經(jīng)“添加”的更改,你可能還記得,從本系列的第一部分中,添加一條消息來(lái)解釋你在提交中所做的操作是非常重要的,以便你在稍后回顧 Git 日志時(shí)了解當(dāng)時(shí)的目的。(我們將在下一篇文章中更多地關(guān)注這個(gè)話題。)Updated Readme file是這個(gè)提交的消息——如果你認(rèn)為這沒(méi)有合理解釋你所做的事情,那么請(qǐng)根據(jù)需要寫下你的提交消息。

運(yùn)行g(shù)it push -u origin master,這會(huì)提示你輸入用戶名和密碼,然后將文件上傳到你的 GitHub 倉(cāng)庫(kù)。刷新你的 GitHub 頁(yè)面,你應(yīng)該會(huì)看到剛剛對(duì)README.md所做的更改。

在Git中如何克隆,修改,添加和刪除文件的詳細(xì)資料概述

終端的右下角顯示我提交了更改,檢查了 Git 狀態(tài),并將更改推送到了 GitHub。git status顯示:

Your branch isahead of'origin/master'by1commit

(use"git push"topublish your local commits)

第一行表示在本地倉(cāng)庫(kù)中有一個(gè)提交,但不在 origin/master 中(即在 GitHub 上)。下一行指示我們將這些更改推送到 origin/master 中,這就是我們所做的。(在本例中,請(qǐng)參閱本系列的第一篇文章,以喚醒你對(duì) origin 含義的記憶。我將在下一篇文章中討論分支的時(shí)候,解釋 master 的含義。)

添加新文件到 Git

現(xiàn)在我們修改了一個(gè)文件并在 GitHub 上更新了它,讓我們創(chuàng)建一個(gè)新文件,將它添加到 Git,然后將其上傳到 GitHub。 運(yùn)行:

echo"This is a new file" >> file.txt

這將會(huì)創(chuàng)建一個(gè)名為 file.txt 的新文件。

如果使用 cat 查看它:

cat file.txt

你將看到文件的內(nèi)容?,F(xiàn)在繼續(xù)運(yùn)行:

git status

Git 報(bào)告說(shuō)你的倉(cāng)庫(kù)中有一個(gè)未跟蹤的文件(名為file.txt)。這是 Git 告訴你說(shuō)在你的計(jì)算機(jī)中的倉(cāng)庫(kù)目錄下有一個(gè)新文件,然而你并沒(méi)有告訴 Git,Git 也沒(méi)有跟蹤你所做的任何修改。

在Git中如何克隆,修改,添加和刪除文件的詳細(xì)資料概述

我們需要告訴 Git 跟蹤這個(gè)文件,以便我們可以提交并上傳文件到我們的倉(cāng)庫(kù)。以下是執(zhí)行該操作的命令:

git add file.txt

git status

終端輸出如下:

在Git中如何克隆,修改,添加和刪除文件的詳細(xì)資料概述

git status告訴你有file.txt被修改,對(duì)于 Git 來(lái)說(shuō)它是一個(gè)new file,Git 在此之前并不知道?,F(xiàn)在我們已經(jīng)為 Git 添加了file.txt,我們可以提交更改并將其推送到origin/master。

在Git中如何克隆,修改,添加和刪除文件的詳細(xì)資料概述

Git 現(xiàn)在已經(jīng)將這個(gè)新文件上傳到 GitHub;如果刷新 GitHub 頁(yè)面,則應(yīng)該在 GitHub 上的倉(cāng)庫(kù)中看到新文件file.txt。

在Git中如何克隆,修改,添加和刪除文件的詳細(xì)資料概述

通過(guò)這些步驟,你可以創(chuàng)建盡可能多的文件,將它們添加到 Git 中,然后提交并將它們推送到 GitHub。

從 Git 中刪除文件

如果我們發(fā)現(xiàn)我們犯了一個(gè)錯(cuò)誤,并且需要從我們的倉(cāng)庫(kù)中刪除file.txt,該怎么辦?一種方法是使用以下命令從本地副本中刪除文件:

rm file.txt

如果你現(xiàn)在做 git status,Git 就會(huì)說(shuō)有一個(gè)文件 not staged for commit(未籌劃提交),并且它已經(jīng)從倉(cāng)庫(kù)的本地拷貝中刪除了。如果我們現(xiàn)在運(yùn)行:

git add file.txt

git status

我知道我們正在刪除這個(gè)文件,但是我們?nèi)匀贿\(yùn)行 git add,因?yàn)槲覀冃枰嬖V Git 我們正在做的更改,git add 可以用于我們添加新文件、修改一個(gè)已存在文件的內(nèi)容、或者從倉(cāng)庫(kù)中刪除文件時(shí)。實(shí)際上,git add 將所有更改考慮在內(nèi),并將這些籌劃提交這些更改。如果有疑問(wèn),請(qǐng)仔細(xì)查看下面終端屏幕截圖中每個(gè)命令的輸出。

Git 會(huì)告訴我們已刪除的文件正在進(jìn)行提交。只要你提交此更改并將其推送到 GitHub,該文件也將從 GitHub 的倉(cāng)庫(kù)中刪除。運(yùn)行以下命令:

git commit -m"Delete file.txt"

git push -uorigin master

現(xiàn)在你的終端看起來(lái)像這樣:

在Git中如何克隆,修改,添加和刪除文件的詳細(xì)資料概述

你的 GitHub 看起來(lái)像這樣:

在Git中如何克隆,修改,添加和刪除文件的詳細(xì)資料概述

現(xiàn)在你知道如何從你的倉(cāng)庫(kù)克隆、添加、修改和刪除 Git 文件。本系列的下一篇文章將檢查 Git 分支。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7494

    瀏覽量

    87954
  • Git
    Git
    +關(guān)注

    關(guān)注

    0

    文章

    199

    瀏覽量

    15761
  • GitHub
    +關(guān)注

    關(guān)注

    3

    文章

    471

    瀏覽量

    16442

原文標(biāo)題:在 Git 中怎樣克隆、修改、添加和刪除文件?

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    uCOS_IISTM32移植詳細(xì)資料

    uCOS_IISTM32移植詳細(xì)資料,包含移植教程,STM32庫(kù)文件,uCOSII-ST-STM32F103ZE-SK.以及根據(jù)教程移植好的例子,經(jīng)本人在開發(fā)板上驗(yàn)證成功。分享給大
    發(fā)表于 03-19 08:54

    pdf文件的怎么添加刪除

    平時(shí)我們做東西難免出錯(cuò),或者把不想要的東西刪除掉,但是pdf文件刪除線又該怎么添加呢,估計(jì)好多人都不知道該怎樣去
    發(fā)表于 07-07 15:18

    GitRT-Thread studio的基本操作步驟解析

    圖為例:從遠(yuǎn)端倉(cāng)庫(kù) clone 一個(gè)倉(cāng)庫(kù)到本地,或在本地創(chuàng)建并初始化一個(gè)倉(cāng)庫(kù)工作區(qū)對(duì)文件進(jìn)行添加、編輯、修改、
    發(fā)表于 03-24 09:37

    如何修改Muto軟件來(lái)運(yùn)行自己的StaseSimo Foc板的詳細(xì)資料概述

    本文的主要內(nèi)容介紹的是如何修改Muto軟件來(lái)運(yùn)行自己的StaseSimo Foc板的詳細(xì)資料概述
    發(fā)表于 05-31 09:58 ?14次下載
    如何<b class='flag-5'>修改</b>Muto軟件來(lái)運(yùn)行自己的StaseSimo Foc板的<b class='flag-5'>詳細(xì)資料</b><b class='flag-5'>概述</b>

    利用PWM控制LED設(shè)計(jì)呼吸燈的程序詳細(xì)資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是利用PWM控制LED,可以修改成節(jié)能臺(tái)燈的程序詳細(xì)資料概述。
    發(fā)表于 07-26 08:00 ?21次下載
    利用PWM控制LED設(shè)計(jì)呼吸燈的程序<b class='flag-5'>詳細(xì)資料</b><b class='flag-5'>概述</b>

    如何修改短信接收TEXT格式?詳細(xì)資料和程序概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何修改短信接收TEXT格式?詳細(xì)資料和程序概述
    發(fā)表于 08-28 19:31 ?4次下載
    如何<b class='flag-5'>修改</b>短信接收TEXT格式?<b class='flag-5'>詳細(xì)資料</b>和程序<b class='flag-5'>概述</b>

    數(shù)據(jù)庫(kù)教程之索引和視圖的詳細(xì)資料概述免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是數(shù)據(jù)庫(kù)教程之索引和視圖的詳細(xì)資料概述免費(fèi)下載包括了:索引基本概念,索引的存儲(chǔ)結(jié)構(gòu)及分類,創(chuàng)建和刪除索引,視圖概念 定義視圖,通過(guò)視圖查詢數(shù)據(jù) ,
    發(fā)表于 10-19 10:41 ?9次下載
    數(shù)據(jù)庫(kù)教程之索引和視圖的<b class='flag-5'>詳細(xì)資料</b><b class='flag-5'>概述</b>免費(fèi)下載

    如何在Linux下如何刪除大量文件詳細(xì)資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何在Linux下刪除大量文件的過(guò)程詳細(xì)資料概述免費(fèi)下載。
    發(fā)表于 11-14 17:10 ?7次下載

    Git軟件的安裝筆記的詳細(xì)資料說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是Git軟件的安裝筆記的詳細(xì)資料說(shuō)明。
    發(fā)表于 12-25 08:00 ?0次下載
    <b class='flag-5'>Git</b>軟件的安裝筆記的<b class='flag-5'>詳細(xì)資料</b>說(shuō)明

    NE555自動(dòng)下載頭文件詳細(xì)資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是NE555自動(dòng)下載頭文件詳細(xì)資料概述
    發(fā)表于 04-02 08:00 ?9次下載
    NE555自動(dòng)下載頭<b class='flag-5'>文件</b>的<b class='flag-5'>詳細(xì)資料</b><b class='flag-5'>概述</b>

    python的內(nèi)置函數(shù)詳細(xì)資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是python的內(nèi)置函數(shù)詳細(xì)資料概述。
    發(fā)表于 11-18 08:00 ?0次下載

    PCB如何添加Logo一些相關(guān)問(wèn)題詳細(xì)資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是PCB如何添加Logo一些相關(guān)問(wèn)題詳細(xì)資料概述包括Altium Designer PCB添加Logo所需的腳本
    發(fā)表于 03-03 08:00 ?0次下載

    EMC HF墊圈的詳細(xì)資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是EMC HF墊圈的詳細(xì)資料概述免費(fèi)下載。
    發(fā)表于 09-07 08:00 ?0次下載
    EMC HF墊圈的<b class='flag-5'>詳細(xì)資料</b><b class='flag-5'>概述</b>

    如何在 Git 恢復(fù)隱藏的修改記錄

    我們的例子,假設(shè)我們已經(jīng)克隆了一個(gè) Git Repo ?,F(xiàn)在,讓我們對(duì) README.md 文件做一些
    的頭像 發(fā)表于 10-09 14:09 ?1012次閱讀

    Git中最常用的命令介紹

    git add命令用于將修改文件添加到下一次提交的暫存區(qū)。你可以指定要添加文件
    發(fā)表于 10-26 10:27 ?290次閱讀
    <b class='flag-5'>Git</b>中最常用的命令介紹