克隆git文件_如何在Git中克隆,修改,添加和删除文件
克隆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中克隆,修改,添加和删除文件相关推荐
- python怎样打开加密的文件_如何在Python中解密OpenSSL AES加密的文件?
拉莫斯之舞 我将通过一些更正重新发布您的代码(我不想掩盖您的版本).当您的代码正常工作时,它不会检测到填充周围的一些错误.特别是,如果提供的解密密钥不正确,则填充逻辑可能会做一些奇怪的事情.如果您同意 ...
- 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 ...
- java如何解压rar文件怎么打开_如何在java中实现对zip和rar文件的解压
如何在java中实现对zip和rar文件的解压 关注:101 答案:1 mip版 解决时间 2021-01-26 10:50 提问者芣①樣哋羙莮 2021-01-25 22:44 如何在java中 ...
- csv文件示例_如何在R中使用数据框和CSV文件-带有示例的详细介绍
csv文件示例 Welcome! If you want to start diving into data science and statistics, then data frames, CSV ...
- macos 虚拟镜像文件_如何在macOS中使用虚拟文件测试网络或硬盘速度
macos 虚拟镜像文件 File transfer speeds can vary greatly from device to device. The same holds true for ne ...
- hdfs中与file数组类似的数组_如何在 JavaScript 中克隆数组
作者:Yazeed Bzadough 译者:allen JavaScript 有很多方法可以做任何事情,现在我们研究数组. 1.扩展运算符(浅拷贝) 自从 ES6 发布以来,这一直是最受欢迎的方法.这 ...
- python 读取日志文件_如何在Python中跟踪日志文件?
使用SH模块(PIP安装sh):from sh import tail# runs foreverfor line in tail("-f", "/var/log/som ...
- python如何读取uni文件_如何在Python中通过HTTP与UniProt交谈?
我试图从UniProt获得一些结果,这是一个蛋白质数据库(细节并不重要).我正在尝试使用一种从一种ID转换为另一种ID的脚本.我能够在浏览器上手动执行此操作,但无法在 Python中执行此操作. 在h ...
- python发送excel文件_如何在Python中使用Excel文件(xlsx)附件发送电子邮件
我需要发送一封带有Excel附件的电子邮件 我的代码如下,可以发送电子邮件 但是当我收到邮件时,附件文件不是Excel文件~~ 看来我附加的格式不对~~~ 我添加了不同的电子邮件地址来接收此电子邮件 ...
最新文章
- java 方法查询_java 几种查询方式【转】
- Python3中__init__.py文件介绍
- 1.3-date命令
- Squid部署文档一
- java丑数算法_LintCode Java算法练习(4)-----丑数II
- KMP算法--字符串模式匹配算法
- SAP云平台和SAP HANA Enterprise Cloud(HEC)的区别
- dotNET Core实现分布式环境下的流水号唯一
- HDU-4631 Sad Love Story 平面最近点对
- Android 系统(95)---Android build.prop参数详解
- 台电p10hd拆解_台电X19HD玩家拆机报告
- 基于STM32制作万能遥控器---1
- 待机、休眠、睡眠的区别(整理)
- 阿朱说:咨询的历史(万字深度长文)
- python正态分布拟合_用python拟合正态分布(已开源)
- ionic开发记账软件《易跟金》
- 减肥要吃...淡化色斑要吃....皮肤干燥要吃...长了小痘痘要吃...整天对着电脑要吃...记住这些
- (转)跳一跳带火了小程序后 微信小程序电商的路越来越难走了!
- Python小学生课程学哪些内容?
- MySQL 取整函数四舍五入函数