克隆git文件

在本系列有关Git入门的第一篇文章中 ,我们创建了一个简单的Git存储库,并通过将其连接到计算机将文件添加到其中。 在本文中,我们将学习有关Git的其他一些知识,即如何在Git存储库中克隆(下载),修改,添加和删除文件。

让我们做一些克隆

让我们克隆上一篇文章中创建的名为Demo的仓库。 (如果尚未创建Demo仓库,请跳回到该文章并执行这些步骤,然后再继续此处。)要克隆文件,只需打开浏览器并导航至https://github.com/<your_username>/Demo (其中<your_username>是您自己的存储库的名称。例如,我的存储库是https://github.com/kedark3/Demo )。 导航到该URL后,单击“克隆或下载”按钮,浏览器应如下所示:

如上所示,“使用HTTPS克隆”选项已打开。 从该下拉框中复制仓库的URL( https://github.com/<your_username>/Demo.git您的用户名> /Demo.git)。 打开终端并输入以下命令以将GitHub存储库克隆到计算机:


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

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


ls Demo/ 

您的终端应如下所示:

修改档案

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

cd Demo/
ls
cat README.md
echo "Added another line to REAMD.md" >> README.md
cat README.md
git status

如果您一一运行以下命令,这将是终端中的外观:

让我们看一下git status的输出,并逐步了解它的含义。 不必担心以下内容:

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

因为我们还没有学会 下一行说: Changes not staged for commit ; 这表明您下面列出的文件未标记为准备就绪(“暂存”)。 如果您运行git add ,则Git将获取这些文件并将其标记为“ Ready for commit ; 换句话说, Changes staged for commit 。 在执行此操作之前,让我们使用git diff命令检查要添加到Git的内容,然后运行git add

这是您的终端输出:

让我们分解一下:

  • diff --git a/README.md b/README.md是Git正在比较的(即本例中的README.md )。
  • --- a/README.md将显示从文件中删除的所有内容。
  • +++ b/README.md将显示添加到您文件中的所有内容。
  • 添加到文件中的所有内容均以绿色文本打印,并在行首加上+。
  • 如果我们删除了任何内容,它将以红色文本开头带有-号的形式打印。
  • Git状态现在显示Changes to be committed:并列出文件名(即README.md )和该文件发生了什么(即,它已被modified并准备提交)。

提示:如果您已经运行过git add ,现在想看看有什么不同,那么通常的git diff将不会产生任何结果,因为您已经添加了文件。 相反,您必须使用git diff --cached 。 它会告诉您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状态并将更改推送到GitHub。 Git状态显示:

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

第一行表示本地存储库中有一个提交,但未在Origin / master中存在(即在GitHub上)。 下一行指示我们将这些更改推送到原点/原版,这就是我们所做的。 (要使您重新了解“起源”在这种情况下的含义,请参阅本系列的第一篇文章。在讨论分支时,我将在下一篇文章中解释“主人”的含义。)

将新文件添加到Git

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


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

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

如果你cat吧:


cat file.txt 

您应该看到文件的内容。 现在运行:


git status 

Git报告您的存储库中有一个未跟踪的文件(名为file.txt )。 这是Git告诉您计算机上的repo目录中有一个尚未告知Git的新文件的方式,Git不会跟踪该文件的更改。

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

git add file.txt
git status

您的终端输出是:

Git状态告诉您要提交的file.txt有更改,并且它是Git的new file ,在此之前它还没有意识到。 现在我们已将file.txt添加到Git,我们可以提交更改并将其推送到origin / master。

Git现在已将此新文件上传到GitHub; 如果刷新GitHub页面,则应该在GitHub的Git存储库中看到新文件file.txt

通过这些步骤,您可以创建任意数量的文件,将它们添加到Git,然后提交并推送到GitHub。

从Git删除文件

如果发现错误,需要从file.txt中删除file.txt ,该怎么办。 一种方法是使用以下命令从本地存储库副本中删除文件:


rm file.txt 

如果您现在执行git status ,Git会说有一个not staged for commit的文件,并且该deleted已从存储库的本地副本中deleted 。 如果现在运行:

git add file.txt
git status

我知道我们正在删除文件,但是我们仍然运行git add 因为我们需要告诉Git我们正在做的改变git add 当我们将新文件添加到Git,修改现有文件的内容并将其添加到Git或从Git存储库中删除文件时,可以使用。 实际上, git add将所有更改考虑在内,并分阶段进行更改以进行提交。 如有疑问,请在下面的终端屏幕截图中仔细查看每个命令的输出。

Git会告诉我们已删除的文件已准备提交。 提交此更改并将其推送到GitHub后,该文件也会从GitHub的存储库中删除。 通过运行以下操作:

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

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

您的GitHub看起来像这样:

现在您知道了如何从您的仓库中克隆,添加,修改和删除Git文件。 本系列的下一篇文章将研究Git分支。

翻译自: https://opensource.com/article/18/2/how-clone-modify-add-delete-git-files

克隆git文件

克隆git文件_如何在Git中克隆,修改,添加和删除文件相关推荐

  1. python怎样打开加密的文件_如何在Python中解密OpenSSL AES加密的文件?

    拉莫斯之舞 我将通过一些更正重新发布您的代码(我不想掩盖您的版本).当您的代码正常工作时,它不会检测到填充周围的一些错误.特别是,如果提供的解密密钥不正确,则填充逻辑可能会做一些奇怪的事情.如果您同意 ...

  2. matlab分析xml文件_如何在Java中读取XML文件(DOM分析器)

    matlab分析xml文件 Today we will learn how to read the XML file in Java. We will also learn how to parse ...

  3. java如何解压rar文件怎么打开_如何在java中实现对zip和rar文件的解压

    如何在java中实现对zip和rar文件的解压 关注:101  答案:1  mip版 解决时间 2021-01-26 10:50 提问者芣①樣哋羙莮 2021-01-25 22:44 如何在java中 ...

  4. csv文件示例_如何在R中使用数据框和CSV文件-带有示例的详细介绍

    csv文件示例 Welcome! If you want to start diving into data science and statistics, then data frames, CSV ...

  5. macos 虚拟镜像文件_如何在macOS中使用虚拟文件测试网络或硬盘速度

    macos 虚拟镜像文件 File transfer speeds can vary greatly from device to device. The same holds true for ne ...

  6. hdfs中与file数组类似的数组_如何在 JavaScript 中克隆数组

    作者:Yazeed Bzadough 译者:allen JavaScript 有很多方法可以做任何事情,现在我们研究数组. 1.扩展运算符(浅拷贝) 自从 ES6 发布以来,这一直是最受欢迎的方法.这 ...

  7. python 读取日志文件_如何在Python中跟踪日志文件?

    使用SH模块(PIP安装sh):from sh import tail# runs foreverfor line in tail("-f", "/var/log/som ...

  8. python如何读取uni文件_如何在Python中通过HTTP与UniProt交谈?

    我试图从UniProt获得一些结果,这是一个蛋白质数据库(细节并不重要).我正在尝试使用一种从一种ID转换为另一种ID的脚本.我能够在浏览器上手动执行此操作,但无法在 Python中执行此操作. 在h ...

  9. python发送excel文件_如何在Python中使用Excel文件(xlsx)附件发送电子邮件

    我需要发送一封带有Excel附件的电子邮件 我的代码如下,可以发送电子邮件 但是当我收到邮件时,附件文件不是Excel文件~~ 看来我附加的格式不对~~~ 我添加了不同的电子邮件地址来接收此电子邮件 ...

最新文章

  1. java 方法查询_java 几种查询方式【转】
  2. Python3中__init__.py文件介绍
  3. 1.3-date命令
  4. Squid部署文档一
  5. java丑数算法_LintCode Java算法练习(4)-----丑数II
  6. KMP算法--字符串模式匹配算法
  7. SAP云平台和SAP HANA Enterprise Cloud(HEC)的区别
  8. dotNET Core实现分布式环境下的流水号唯一
  9. HDU-4631 Sad Love Story 平面最近点对
  10. Android 系统(95)---Android build.prop参数详解
  11. 台电p10hd拆解_台电X19HD玩家拆机报告
  12. 基于STM32制作万能遥控器---1
  13. 待机、休眠、睡眠的区别(整理)
  14. 阿朱说:咨询的历史(万字深度长文)
  15. python正态分布拟合_用python拟合正态分布(已开源)
  16. ionic开发记账软件《易跟金》
  17. 减肥要吃...淡化色斑要吃....皮肤干燥要吃...长了小痘痘要吃...整天对着电脑要吃...记住这些
  18. (转)跳一跳带火了小程序后 微信小程序电商的路越来越难走了!
  19. Python小学生课程学哪些内容?
  20. MySQL 取整函数四舍五入函数

热门文章

  1. SpringCloudStream整合rabbitMq
  2. 04.Android之动画问题
  3. [转] 2018年冬流感通知
  4. Java类加载器( 死磕9)
  5. 使用 Typescript 踩 react-redux 的坑
  6. Java新特性之Nashorn的实例详解
  7. IT众包Web网站服务案例:江苏保税店
  8. iOS-数据持久化-属性列表
  9. mysql查询2个isbn数据,数据库实验二 数据查询
  10. oracle菜鸟学习之 复杂的更新语句使用