自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在Git中怎樣克隆、修改、添加和刪除文件?

系統(tǒng) Linux 開源
在 本系列的第一篇文章 開始使用 Git 時,我們創(chuàng)建了一個簡單的 Git 倉庫,并用我們的計算機(jī)連接到它,向其中添加一個文件。在本文中,我們將學(xué)習(xí)一些關(guān)于 Git 的其他內(nèi)容,即如何克?。ㄏ螺d)、修改、添加和刪除 Git 倉庫中的文件。

[[225123]]

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

 

讓我們來克隆一下

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

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

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

  1. git clone https://github.com/<your_username>/Demo.git

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

  1. ls Demo/

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

 

修改文件

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

  1. cd Demo/
  2. ls
  3. cat README.md
  4. echo "Added another line to REAMD.md" >> README.md
  5. cat README.md
  6. git status

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

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

  1. On branch master
  2. Your branch is up-to-date with 'origin/master'.".

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

這里是終端輸出:

我們來分析一下:

  • diff --git a/README.md b/README.md 是 Git 比較的內(nèi)容(在這個例子中是 README.md)。
  • --- a/README.md 會顯示從文件中刪除的任何東西。
  • +++ b/README.md 會顯示從文件中添加的任何東西。
  • 任何添加到文件中的內(nèi)容都以綠色文本打印,并在該行的開頭加上 + 號。
  • 如果我們刪除了任何內(nèi)容,它將以紅色文本打印,并在該行的開頭加上 - 號。
  • 現(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 不會輸出任何東西,因為你已經(jīng)添加了文件。相反,你必須使用 git diff --cached。它會告訴你 Git 添加的當(dāng)前版本和以前版本文件之間的差別。你的終端輸出看起來會是這樣:

 

上傳文件到你的倉庫

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

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

  1. git commit -m "Updated Readme file"

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

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

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

  1. Your branch is ahead of 'origin/master' by 1 commit
  2.   (use "git push" to publish your local commits)

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

 

添加新文件到 Git

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

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

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

如果使用 cat 查看它:

  1. cat file.txt

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

  1. git status

Git 報告說你的倉庫中有一個未跟蹤的文件(名為 file.txt)。這是 Git 告訴你說在你的計算機(jī)中的倉庫目錄下有一個新文件,然而你并沒有告訴 Git,Git 也沒有跟蹤你所做的任何修改。

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

  1. git add file.txt
  2. git status

終端輸出如下:

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

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

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

 

從 Git 中刪除文件

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

  1. rm file.txt

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

  1. git add file.txt
  2. git status

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

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

  1. git commit -m "Delete file.txt"
  2. git push -u origin master

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

你的 GitHub 看起來像這樣:

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

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2023-01-18 17:22:38

YAML注釋Linux

2022-03-03 13:22:52

LinuxKDE PlasmaKDE

2019-09-24 19:00:41

Linuxrm命令unlink命令

2016-11-08 08:51:43

GitLinux開源

2021-06-03 10:00:47

JavaScript 前端數(shù)克隆對象

2009-03-10 15:05:16

JDBC泛型數(shù)據(jù)庫

2019-03-18 09:40:44

Linux命令編程語言

2010-10-13 10:03:08

MySQL修改表結(jié)構(gòu)

2011-06-28 14:27:38

Qt Qt For Sym

2022-11-03 10:36:30

Linux隱藏文件

2011-03-22 10:57:30

Oracle添加用戶賦權(quán)

2017-03-14 09:45:24

2018-06-08 09:27:08

GitLinux開源

2010-09-01 15:59:44

SQL刪除字段

2021-07-30 10:38:40

Linux工具系統(tǒng)

2023-09-17 17:31:20

Git文件

2023-05-13 17:43:17

Linux文件文件夾

2021-08-16 13:34:07

Linux終端刪除文件

2018-04-27 10:33:56

Linux命令chattr

2010-11-22 11:38:08

MySQL添加字段
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號