代码仓库 git 的使用


Git 简介

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的分布式版本控制系统。

与常用的版本控制工具 CVS, Subversion 等不同,它有几个特点:

  1. 采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。
  2. Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。
  3. Git 最为出色的是它的合并跟踪(merge tracing)能力。

同生活中的许多伟大事件一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到 2002 年,整个项目组开始启用分布式版本控制系统 BitKeeper 来管理和维护代码。

到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了免费使用 BitKeeper 的权力。这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds )不得不吸取教训,只有开发一套属于自己的版本控制系统才不至于重蹈覆辙。他们对新的系统制订了若干目标:

  • 速度
  • 简单的设计
  • 对非线性开发模式的强力支持(允许上千个并行开发的分支)
  • 完全分布式
  • 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。它的速度飞快,极其适合管理大项目,它还有着令人难以置信的非线性分支管理系统,可以应付各种复杂的项目开发需求。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。

Git 是一个非常强大的版本管理工具,也是目前最流行的代码管理工具。学习 GIT 首先理解几个关键点

  1. Git 本身是基于本地管理的。也就是说,即使你不需要联网,也可以使用 Git 管理你的代码。
  2. 它创建分支与合并分支容易,推送速度快,配合网上代码仓库提交代码也更容易。
  3. 所以,为了充分体现 GIT 管理的优越性,也便于共享代码,目前有很多基于 Git 的代码托管网站。
  4. 这些网站与GIT的关系就好比文件夹云盘的关系,国外著名的有 GitHub,国内有:Gitee

本地仓库

GIT的基本元素就是本地仓库,本地仓库由 git 维护的三棵“树”组成。

  • 第一个是你的 工作目录,它持有实际文件;
  • 第二个是 暂存区(Index),它像个缓存区域,临时保存你的改动;
  • 最后是 HEAD,它指向你最后一次提交的结果。
add
commit
push
文件目录
缓存区
HEAD区
代码仓库

如上图,他实际上关联着 GIT 的三种基本操作:

add

添加修改内容

git add *

commit

从上面的图中你可以看到,add命令只是将文件放入暂存区,并没有真正保存你的改动,所以你还需要commit

git commit -m "更新信息"

commit以后,你的文件就在head区,它指向你最后一次提交的结果,这个时候你的本地管理就完成了,

push

当然如果你需要推送到云仓库,还需要执行push操作

git push -u origin master

Git 快速入门

# Git 全局设置:
git config --global user.name "xxxx"
git config --global user.email "xxxx@xxx.com"

# 创建 git 仓库:
mkdir Code
cd Code
git init

# 添加文件到仓库
touch README.md
git add README.md

# 推送
git commit -m "first commit"
git remote add origin https://gitee.com/xxxx/Code.git
git push -u origin master

# 已有仓库?
cd existing_git_repo
git remote add origin https://gitee.com/founderznd/Python.git
git push -u origin master

# 删除
rm -rf .git

下载安装

http://git-scm.com/download

更新代码

当你修改完代码以后,代码还处于缓存区,GIT 并没有真正保存你的改动,所以你还需要commit,commit以后,你的文件就在head区,这时候你还需要连接到你的代码仓库,最后再把项目推送到仓库上

add
commit
push
文件目录
缓存区
HEAD区
代码仓库
git commit -m "更新信息"
git remote add origin https://github.com/xxx/HelloWorld.git
git push -u origin master

系统会提示你输入用户名和密码

Username for 'https://github.com': xxxxx
Password for 'https://xxxxx@github.com': 

输入正确以后,git就开始上传你的项目到仓库上,你可以网页登陆到仓库中查看是否上传成功

克隆项目

克隆项目会将整个仓库完整的下载到你的目录以后,一般适用于第一次下载

git clone https://github.com/xxxxx/projectname.git

拉取项目

git pull 只会将最新的内容下载到本地,这需要你的本地仓库中有.git文件的存在。

如果你之前已经clone过这个仓库。那么你只需要进入到该仓库目录。

git pull 

如果没有,git会让你init一个新的。

git init
git pull https://github.com/xxxxx/projectname.git

需要注意的是,这种方法会将仓库里面的内容直接下载到你当前的目录下。如果服务器的仓库里面有1000个文件,你会发现你当前所在的目录下会突然多出1000个文件,如果你恰好位于根目录。。。那么恭喜你了。。慢慢清理吧。

而clone不同,它会先在当前目录下新建一个名为projectname的文件夹,再把所有文件下载到那个文件夹当中去。这样一来,你所在的目录只会多出一个文件夹


总结

  • 第一次下载仓库,最好用clone,仓库更新用pull
  • 下载只有一步,clone或者pull
  • 上传有三步,add、commit和push

GitHub

注册github

  1. 要想使用github,首先要注册一个github账号。

  2. 登陆以后,新建一个仓库。
    在这里插入图片描述

  3. 现在你已经拥有了自己的代码仓库了,接下来对github的管理,离不开各个工具,下面简单介绍几种


eclipse下github的使用

想在eclipse下使用github进行代码的维护和管理,最简单的工具就是egit,这是eclipse提供的官方版本,简单好用。

下面说说步骤

当你新建好一个仓库以后,可以得到一个链接,点击右边的按钮,复制链接,以后会用到。

  1. 完成网页部分以后,回到eclipse,创建或者找到需要上传的project。 右键->team->share project。

在这里插入图片描述

  1. 然后再右键->team->commit…(快捷键Ctrl + #)->写入commit message,下面的files全选->commit and push

在这里插入图片描述

  1. 如果是第一次commit,则会出现下图,否则跳过此步骤。
    在这里插入图片描述

  2. 然后一直next直到finish

如此大致上就做好一个repository了,以后当你编写完代码需要上传的时候,只需要重复步骤5就行。

如果要下载代码,则是右键->team->pull

如此,就可以愉快的编程了。

关于README.md说明文档

新建仓库,github提示你是否新建说明文档,这个是md格式的,也就是markdown的缩写,所以github的说明文档是支持markdown语法的。

这也是为什么很多人把github当博客来使用的原因。。。

不仅如此,github还有更多相当有用的地方,比如当图片的引用仓库等等~~

这里有一篇相当好的文章,分享给大家:GitHub秘籍

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值