1 在Git中如何克隆,修改,添加和删除文件的详细资料概述-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在Git中如何克隆,修改,添加和删除文件的详细资料概述

Linux爱好者 来源:未知 作者:易水寒 2018-06-10 09:06 次阅读

在本系列的第一篇文章开始使用 Git 时,我们创建了一个简单的 Git 仓库,并用我们的计算机连接到它,向其中添加一个文件。在本文中,我们将学习一些关于 Git 的其他内容,即如何克隆(下载)、修改、添加和删除 Git 仓库中的文件。

让我们来克隆一下

假设你在 GitHub 上已经有一个 Git 仓库,并且想从它那里获取你的文件——也许你在你的计算机上丢失了本地副本,或者你正在另一台计算机上工作,但是想访问仓库中的文件,你该怎么办?从 GitHub 下载你的文件?没错!在 Git 术语中我们称之为“克隆clone”。(你也可以将仓库作为 ZIP 文件下载,但我们将在本文中探讨克隆方式。)

让我们克隆在上一篇文章中创建的名为 Demo 的仓库。(如果你还没有创建 Demo 仓库,请跳回到那篇文章并在继续之前执行那些步骤)要克隆文件,只需打开浏览器并导航到https://github.com//Demo(其中 是你仓库的名称。例如,我的仓库是https://github.com/kedark3/Demo)。一旦你导航到该 URL,点击“克隆或下载Clone or download”按钮,你的浏览器看起来应该是这样的:

在Git中如何克隆,修改,添加和删除文件的详细资料概述

正如你在上面看到的,“使用 HTTPS 克隆Clone with HTTPS”选项已打开。从该下拉框中复制你的仓库地址(https://github.com//Demo.git),打开终端并输入以下命令将 GitHub 仓库克隆到你的计算机:

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

然后,要查看 Demo 目录中的文件列表,请输入以下命令:

ls Demo/

终端看起来应该是这样的:

在Git中如何克隆,修改,添加和删除文件的详细资料概述

修改文件

现在我们已经克隆了仓库,让我们修改文件并在 GitHub 上更新它们。首先,逐个输入下面的命令,将目录更改为Demo/,检查README.md中的内容,添加新的(附加的)内容到README.md,然后使用git status检查状态:

cd Demo/

ls

cat README.md

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

cat README.md

git status

如果你逐一运行这些命令,终端看起开将会是这样:

在Git中如何克隆,修改,添加和删除文件的详细资料概述

让我们看一下git status的输出,并了解它的意思。不要担心这样的语句:

On branch master

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

因为我们还没有学习这些。(LCTT 译注:学了你就知道了)下一行说:Changes not staged for commit(变化未筹划提交);这是告诉你,它下面列出的文件没有被标记准备(“筹划stage”)提交。如果你运行git add,Git 会把这些文件标记为Ready for commit(准备提交);换句话说就是Changes staged for commit(变化筹划提交)。在我们这样做之前,让我们用git diff命令来检查我们添加了什么到 Git 中,然后运行git add。

这里是终端输出:

在Git中如何克隆,修改,添加和删除文件的详细资料概述

我们来分析一下:

diff --git a/README.md b/README.md是 Git 比较的内容(在这个例子中是README.md)。

--- a/README.md会显示从文件中删除的任何东西。

+++ b/README.md会显示从文件中添加的任何东西。

任何添加到文件中的内容都以绿色文本打印,并在该行的开头加上+号。

如果我们删除了任何内容,它将以红色文本打印,并在该行的开头加上-号。

现在git status显示Changes to be committed:(变化将被提交),并列出文件名(即README.md)以及该文件发生了什么(即它已经被modified并准备提交)。

提示:如果你已经运行了git add,现在你想看看文件有什么不同,通常git diff不会输出任何东西,因为你已经添加了文件。相反,你必须使用git diff --cached。它会告诉你 Git 添加的当前版本和以前版本文件之间的差别。你的终端输出看起来会是这样:

在Git中如何克隆,修改,添加和删除文件的详细资料概述

上传文件到你的仓库

我们用一些新内容修改了README.md文件,现在是时候将它上传到 GitHub。

让我们提交更改并将其推送到 GitHub。运行:

git commit -m"Updated Readme file"

这告诉 Git 你正在“提交”已经“添加”的更改,你可能还记得,从本系列的第一部分中,添加一条消息来解释你在提交中所做的操作是非常重要的,以便你在稍后回顾 Git 日志时了解当时的目的。(我们将在下一篇文章中更多地关注这个话题。)Updated Readme file是这个提交的消息——如果你认为这没有合理解释你所做的事情,那么请根据需要写下你的提交消息。

运行git push -u origin master,这会提示你输入用户名和密码,然后将文件上传到你的 GitHub 仓库。刷新你的 GitHub 页面,你应该会看到刚刚对README.md所做的更改。

在Git中如何克隆,修改,添加和删除文件的详细资料概述

终端的右下角显示我提交了更改,检查了 Git 状态,并将更改推送到了 GitHub。git status显示:

Your branch isahead of'origin/master'by1commit

(use"git push"topublish your local commits)

第一行表示在本地仓库中有一个提交,但不在 origin/master 中(即在 GitHub 上)。下一行指示我们将这些更改推送到 origin/master 中,这就是我们所做的。(在本例中,请参阅本系列的第一篇文章,以唤醒你对 origin 含义的记忆。我将在下一篇文章中讨论分支的时候,解释 master 的含义。)

添加新文件到 Git

现在我们修改了一个文件并在 GitHub 上更新了它,让我们创建一个新文件,将它添加到 Git,然后将其上传到 GitHub。 运行:

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

这将会创建一个名为 file.txt 的新文件。

如果使用 cat 查看它:

cat file.txt

你将看到文件的内容。现在继续运行:

git status

Git 报告说你的仓库中有一个未跟踪的文件(名为file.txt)。这是 Git 告诉你说在你的计算机中的仓库目录下有一个新文件,然而你并没有告诉 Git,Git 也没有跟踪你所做的任何修改。

在Git中如何克隆,修改,添加和删除文件的详细资料概述

我们需要告诉 Git 跟踪这个文件,以便我们可以提交并上传文件到我们的仓库。以下是执行该操作的命令:

git add file.txt

git status

终端输出如下:

在Git中如何克隆,修改,添加和删除文件的详细资料概述

git status告诉你有file.txt被修改,对于 Git 来说它是一个new file,Git 在此之前并不知道。现在我们已经为 Git 添加了file.txt,我们可以提交更改并将其推送到origin/master。

在Git中如何克隆,修改,添加和删除文件的详细资料概述

Git 现在已经将这个新文件上传到 GitHub;如果刷新 GitHub 页面,则应该在 GitHub 上的仓库中看到新文件file.txt。

在Git中如何克隆,修改,添加和删除文件的详细资料概述

通过这些步骤,你可以创建尽可能多的文件,将它们添加到 Git 中,然后提交并将它们推送到 GitHub。

从 Git 中删除文件

如果我们发现我们犯了一个错误,并且需要从我们的仓库中删除file.txt,该怎么办?一种方法是使用以下命令从本地副本中删除文件:

rm file.txt

如果你现在做 git status,Git 就会说有一个文件 not staged for commit(未筹划提交),并且它已经从仓库的本地拷贝中删除了。如果我们现在运行:

git add file.txt

git status

我知道我们正在删除这个文件,但是我们仍然运行 git add,因为我们需要告诉 Git 我们正在做的更改,git add 可以用于我们添加新文件、修改一个已存在文件的内容、或者从仓库中删除文件时。实际上,git add 将所有更改考虑在内,并将这些筹划提交这些更改。如果有疑问,请仔细查看下面终端屏幕截图中每个命令的输出。

Git 会告诉我们已删除的文件正在进行提交。只要你提交此更改并将其推送到 GitHub,该文件也将从 GitHub 的仓库中删除。运行以下命令:

git commit -m"Delete file.txt"

git push -uorigin master

现在你的终端看起来像这样:

在Git中如何克隆,修改,添加和删除文件的详细资料概述

你的 GitHub 看起来像这样:

在Git中如何克隆,修改,添加和删除文件的详细资料概述

现在你知道如何从你的仓库克隆、添加、修改和删除 Git 文件。本系列的下一篇文章将检查 Git 分支。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计算机
    +关注

    关注

    19

    文章

    7488

    浏览量

    87846
  • Git
    Git
    +关注

    关注

    0

    文章

    198

    浏览量

    15755
  • GitHub
    +关注

    关注

    3

    文章

    468

    浏览量

    16427

原文标题:在 Git 中怎样克隆、修改、添加和删除文件?

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    uCOS_IISTM32移植详细资料

    uCOS_IISTM32移植详细资料,包含移植教程,STM32库文件,uCOSII-ST-STM32F103ZE-SK.以及根据教程移植好的例子,经本人在开发板上验证成功。分享给大
    发表于 03-19 08:54

    pdf文件的怎么添加删除线

    平时我们做东西难免出错,或者把不想要的东西删除掉,但是pdf文件删除线又该怎么添加呢,估计好多人都不知道该怎样去
    发表于 07-07 15:18

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

    图为例:从远端仓库 clone 一个仓库到本地,或在本地创建并初始化一个仓库工作区文件进行添加、编辑、修改
    发表于 03-24 09:37

    如何修改Muto软件来运行自己的StaseSimo Foc板的详细资料概述

    本文的主要内容介绍的是如何修改Muto软件来运行自己的StaseSimo Foc板的详细资料概述
    发表于 05-31 09:58 14次下载
    如何<b class='flag-5'>修改</b>Muto软件来运行自己的StaseSimo Foc板的<b class='flag-5'>详细资料</b><b class='flag-5'>概述</b>

    利用PWM控制LED设计呼吸灯的程序详细资料概述

    本文档的主要内容详细介绍的是利用PWM控制LED,可以修改成节能台灯的程序详细资料概述
    发表于 07-26 08:00 21次下载
    利用PWM控制LED设计呼吸灯的程序<b class='flag-5'>详细资料</b><b class='flag-5'>概述</b>

    如何修改短信接收TEXT格式?详细资料和程序概述

    本文档的主要内容详细介绍的是如何修改短信接收TEXT格式?详细资料和程序概述
    发表于 08-28 19:31 4次下载
    如何<b class='flag-5'>修改</b>短信接收TEXT格式?<b class='flag-5'>详细资料</b>和程序<b class='flag-5'>概述</b>

    数据库教程之索引和视图的详细资料概述免费下载

    本文档的主要内容详细介绍的是数据库教程之索引和视图的详细资料概述免费下载包括了:索引基本概念,索引的存储结构及分类,创建和删除索引,视图概念 定义视图,通过视图查询数据 ,
    发表于 10-19 10:41 9次下载
    数据库教程之索引和视图的<b class='flag-5'>详细资料</b><b class='flag-5'>概述</b>免费下载

    如何在Linux下如何删除大量文件详细资料概述

    本文档的主要内容详细介绍的是如何在Linux下删除大量文件的过程详细资料概述免费下载。
    发表于 11-14 17:10 7次下载

    Git软件的安装笔记的详细资料说明

    本文档的主要内容详细介绍的是Git软件的安装笔记的详细资料说明。
    发表于 12-25 08:00 0次下载
    <b class='flag-5'>Git</b>软件的安装笔记的<b class='flag-5'>详细资料</b>说明

    NE555自动下载头文件详细资料概述

    本文档的主要内容详细介绍的是NE555自动下载头文件详细资料概述
    发表于 04-02 08:00 9次下载
    NE555自动下载头<b class='flag-5'>文件</b>的<b class='flag-5'>详细资料</b><b class='flag-5'>概述</b>

    python的内置函数详细资料概述

    本文档的主要内容详细介绍的是python的内置函数详细资料概述
    发表于 11-18 08:00 0次下载

    PCB如何添加Logo一些相关问题详细资料概述

    本文档的主要内容详细介绍的是PCB如何添加Logo一些相关问题详细资料概述包括Altium Designer PCB添加Logo所需的脚本
    发表于 03-03 08:00 0次下载

    EMC HF垫圈的详细资料概述

    本文档的主要内容详细介绍的是EMC HF垫圈的详细资料概述免费下载。
    发表于 09-07 08:00 0次下载
    EMC HF垫圈的<b class='flag-5'>详细资料</b><b class='flag-5'>概述</b>

    如何在 Git 恢复隐藏的修改记录

    我们的例子,假设我们已经克隆了一个 Git Repo 。现在,让我们对 README.md 文件做一些
    的头像 发表于 10-09 14:09 997次阅读

    Git中最常用的命令介绍

    git add命令用于将修改文件添加到下一次提交的暂存区。你可以指定要添加文件
    发表于 10-26 10:27 288次阅读
    <b class='flag-5'>Git</b>中最常用的命令介绍