前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用Git版本控制系统

如何使用Git版本控制系统

原创
作者头像
黑色技术
发布2018-08-16 11:37:29
7880
发布2018-08-16 11:37:29
举报
文章被收录于专栏:云计算教程系列

Git是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于2005年以GPL发布。最初目的是为更好地管理Linux内核开发而设计。git最初只是作为一个可以被其他前端包装的后端而开发的,但后来git内核已经成熟到可以独立地用作版本控制。很多著名的软件都使用git进行版本控制,其中包括Linux内核、X.Org服务器和OLPC内核等项目的开发流程。Git是用于Linux内核开发的版本控制工具。与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。git的速度很快,这对于诸如Linux内核这样的大项目来说自然很重要。git最为出色的是它的合并追踪(merge tracing)能力。实际上内核开发团队决定开始开发和使用git来作为内核开发的版本控制系统的时候,世界上开源社群的反对声音不少,最大的理由是git太艰涩难懂,从git的内部工作机制来说,的确是这样。但是随着开发的深入,git的正常使用都由一些友善的命令来执行,使git变得非常好用。现在,越来越多的著名项目采用git来管理项目开发,本文将介绍Git的用法,以便您快速学习。

Git基础

  • 首先,我们创建一个用于存储文件的文件夹,然后在该文件夹中初始化Git存储库:
代码语言:javascript
复制
mkdir testgit
cd testgit
git init
  • 为Git创建要跟踪的文件,然后将一些文本添加到文件中:
代码语言:javascript
复制
touch file.txt file2.txt file3.txt
echo "hello Linode" >> file.txt
  • 使用git status返回关于当前Git库的信息:
代码语言:javascript
复制
git status
代码语言:javascript
复制
On branch master
​
Initial commit
​
Untracked files:
(use "git add ..." to include in what will be committed)
​
file.txt
file2.txt
file3.txt
​
nothing added to commit but untracked files present (use "git add" to track)
  • 由于file.txt包含文本,您希望Git跟踪该文件在未来的任何更改。使用git add file.txt添加file.txt到文件的Git监视器列表。添加后输入git status以确认Git正在跟踪新文件。
代码语言:javascript
复制
git add file.txt
git status

这将返回到:

代码语言:javascript
复制
On branch master
​
Initial commit
​
Changes to be committed:
(use "git rm --cached ..." to unstage)
​
new file: file.txt
​
Untracked files:
(use "git add ..." to include in what will be committed)
​
file2.txt
file3.txt
  • 要提交对file.txt的更改到版本控制系统,请使用git commit。Git要求您编写提交消息,这个消息将帮助您记住您对文件所做的更改。在此示例中,使用-am选项提交所有已修改的文件,,并包含提交消息:
代码语言:javascript
复制
git commit -am "Added Hello Linode to file.txt"

Git将返回以下消息,确认您的新更改:

代码语言:javascript
复制
[master (root-commit) e8cc496] added new file
1 file changed, 1 insertion(+)
create mode 100644 file.txt
  • 使用git add -A跟踪目录中的其余文件,并使用以下消息提交它们:
代码语言:javascript
复制
git add -A
git status

返回:

代码语言:javascript
复制
On branch master
Changes to be committed:
(use "git reset HEAD ..." to unstage)
​
modified: file.txt
new file: file2.txt
new file: file3.txt
​
Now, commit the changes:
​
git commit -am "The end!"
​
[master 52a9240] The End
4 files changed, 1 insertion(+)
create mode 100644 file1.txt
create mode 100644 file2.txt
create mode 100644 file3.txt

注意 git add -Agit add .git add -u,都可以用于为提交暂存文件。 git add -A会将所有目录中的文件分级。git add .仅暂存新文件和修改过的文件,省略所有已删除的文件。git add -u仅分阶段修改和删除文件,省略所有新文件。

总结

您可以参考以下资源。学习更多GIt技巧

Git命令你学会了吗?当然,真正的项目复杂的多,赶紧去腾讯云开发者实验室进行试验吧!想要学习更多相关知识,请访问腾讯云云+社区


参考文献:《How to Use Git the Version Control System 》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Git基础
  • 总结
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档