Git使用 2 Git与svn对比 3 git工作流程

Git历史

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

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

• 速度

• 简单的设计

• 对非线性开发模式的强力支持(允许上千个并行开发的分支)

• 完全分布式

• 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

Git使用
2 Git与svn对比
3 git工作流程 

2.1 Svn

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就郁闷了。

下图就是标准的集中式版本控制工具管理方式:

Git使用
2 Git与svn对比
3 git工作流程

 

集中管理方式在一定程度上看到其他开发人员在干什么,而管理员也可以很轻松掌握每个人的开发权限。

但是相较于其优点而言,集中式版本控制工具缺点很明显:

l 服务器单点故障

l 容错性差

2.2 Git

Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

下图就是分布式版本控制工具管理方式:

Git使用
2 Git与svn对比
3 git工作流程

git工作流程

一般工作流程如下:

1.从远程仓库中克隆 Git 资源作为本地仓库。

2.从本地仓库中checkout代码然后进行代码修改

3.在提交前先将代码提交到暂存区。

4.提交修改。提交到本地仓库。本地仓库中保存修改的各个历史版本。

5.在修改完成后,需要和团队成员共享代码时,可以将代码push到远程仓库。

下图展示了 Git 的工作流程:

 Git使用
2 Git与svn对比
3 git工作流程

4 如何使用Git

1.新建文件夹

Git使用
2 Git与svn对比
3 git工作流程

3.2 安装操作

    Git使用
2 Git与svn对比
3 git工作流程

  3.3 简体中文设置

    Git使用
2 Git与svn对比
3 git工作流程

 2 在 文件夹中右键Git Bash here输入命令把文件夹变为本地仓库

Git使用
2 Git与svn对比
3 git工作流程

4.3 文件夹变为本地仓库时会生成一个隐藏文件夹

Git使用
2 Git与svn对比
3 git工作流程

点击查看把隐藏的项目勾上

4.4 新建一个文件并把该文件添加到暂存区右键文件Tortoise点击 添加

 Git使用
2 Git与svn对比
3 git工作流程

4.5 将暂存区提交到本地仓库

Git使用
2 Git与svn对比
3 git工作流程

 Git使用
2 Git与svn对比
3 git工作流程

4.6修改文件

 Git使用
2 Git与svn对比
3 git工作流程

 点击提交就行了

7、删除文件

  7.1 删除文件操作需要再一次进行提交

Git使用
2 Git与svn对比
3 git工作流程

(删除后要提交,步骤和修改一样) 

8、还原文件

  8.1 在HelloGit文件进行修改不用提交便可还原

Git使用
2 Git与svn对比
3 git工作流程

  9、将工程提交到版本库

9.1随便拿一个工程复制到目录中

Git使用
2 Git与svn对比
3 git工作流程

 9.2设置忽略文件或文件夹

Git使用
2 Git与svn对比
3 git工作流程

 选择这个选项

Git使用
2 Git与svn对比
3 git工作流程

 Git使用
2 Git与svn对比
3 git工作流程

这里的.gitignore作用:在里面输入你不上传的工程名字如:

Git使用
2 Git与svn对比
3 git工作流程

 不想上传这个springcloud_chop01就复制一下这个名字放在如下:

Git使用
2 Git与svn对比
3 git工作流程

10、远程仓库 

  常用的远程仓库就是github:https://github.com/, 需要创建用户  

  10.1添加远程库

   (1)在github上创建仓库

    Git使用
2 Git与svn对比
3 git工作流程

Git使用
2 Git与svn对比
3 git工作流程

10.2 ssh协议

  (1) 什么是ssh

    SSH 为 Secure Shell(安全外壳协议)的缩写,由 IETF 的网络小组(Network Working Group)所制定。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

  (2)shh密钥生成 ssh-keygen -t rsa

Git使用
2 Git与svn对比
3 git工作流程

 执行命令完成后,在window本地用户.ssh目录

Git使用
2 Git与svn对比
3 git工作流程

(3)ssh密钥配置

    Git使用
2 Git与svn对比
3 git工作流程

     Git使用
2 Git与svn对比
3 git工作流程

右键记事本打开公钥

Git使用
2 Git与svn对比
3 git工作流程

Git使用
2 Git与svn对比
3 git工作流程

10.3 同步到远程仓库  

  两条命令:

  git remote add origin git@github.com:myyyplus/git_test.git

  git push -u origin master

Git使用
2 Git与svn对比
3 git工作流程

 Git使用
2 Git与svn对比
3 git工作流程

  Git使用
2 Git与svn对比
3 git工作流程

   Git使用
2 Git与svn对比
3 git工作流程

 10.4 使用TortoiseGit同步

  Git使用
2 Git与svn对比
3 git工作流程

 10.4 使用TortoiseGit同步Git使用
2 Git与svn对比
3 git工作流程

Url,推送URL:远程仓库的地址

Git使用
2 Git与svn对比
3 git工作流程

 (1)推送

Git使用
2 Git与svn对比
3 git工作流程

 Git使用
2 Git与svn对比
3 git工作流程

 Git使用
2 Git与svn对比
3 git工作流程

10.5从远程仓库克隆

      Git使用
2 Git与svn对比
3 git工作流程

   Git使用
2 Git与svn对比
3 git工作流程

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

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

• 速度

• 简单的设计

• 对非线性开发模式的强力支持(允许上千个并行开发的分支)

• 完全分布式

• 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

Git使用
2 Git与svn对比
3 git工作流程 

2.1 Svn

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就郁闷了。

下图就是标准的集中式版本控制工具管理方式:

Git使用
2 Git与svn对比
3 git工作流程

 

集中管理方式在一定程度上看到其他开发人员在干什么,而管理员也可以很轻松掌握每个人的开发权限。

但是相较于其优点而言,集中式版本控制工具缺点很明显:

l 服务器单点故障

l 容错性差

2.2 Git

Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

下图就是分布式版本控制工具管理方式:

Git使用
2 Git与svn对比
3 git工作流程

git工作流程

一般工作流程如下:

1.从远程仓库中克隆 Git 资源作为本地仓库。

2.从本地仓库中checkout代码然后进行代码修改

3.在提交前先将代码提交到暂存区。

4.提交修改。提交到本地仓库。本地仓库中保存修改的各个历史版本。

5.在修改完成后,需要和团队成员共享代码时,可以将代码push到远程仓库。

下图展示了 Git 的工作流程:

 Git使用
2 Git与svn对比
3 git工作流程

4 如何使用Git

1.新建文件夹

Git使用
2 Git与svn对比
3 git工作流程

3.2 安装操作

    Git使用
2 Git与svn对比
3 git工作流程

  3.3 简体中文设置

    Git使用
2 Git与svn对比
3 git工作流程

 2 在 文件夹中右键Git Bash here输入命令把文件夹变为本地仓库

Git使用
2 Git与svn对比
3 git工作流程

4.3 文件夹变为本地仓库时会生成一个隐藏文件夹

Git使用
2 Git与svn对比
3 git工作流程

点击查看把隐藏的项目勾上

4.4 新建一个文件并把该文件添加到暂存区右键文件Tortoise点击 添加

 Git使用
2 Git与svn对比
3 git工作流程

4.5 将暂存区提交到本地仓库

Git使用
2 Git与svn对比
3 git工作流程

 Git使用
2 Git与svn对比
3 git工作流程

4.6修改文件

 Git使用
2 Git与svn对比
3 git工作流程

 点击提交就行了

7、删除文件

  7.1 删除文件操作需要再一次进行提交

Git使用
2 Git与svn对比
3 git工作流程

(删除后要提交,步骤和修改一样) 

8、还原文件

  8.1 在HelloGit文件进行修改不用提交便可还原

Git使用
2 Git与svn对比
3 git工作流程

  9、将工程提交到版本库

9.1随便拿一个工程复制到目录中

Git使用
2 Git与svn对比
3 git工作流程

 9.2设置忽略文件或文件夹

Git使用
2 Git与svn对比
3 git工作流程

 选择这个选项

Git使用
2 Git与svn对比
3 git工作流程

 Git使用
2 Git与svn对比
3 git工作流程

这里的.gitignore作用:在里面输入你不上传的工程名字如:

Git使用
2 Git与svn对比
3 git工作流程

 不想上传这个springcloud_chop01就复制一下这个名字放在如下:

Git使用
2 Git与svn对比
3 git工作流程

10、远程仓库 

  常用的远程仓库就是github:https://github.com/, 需要创建用户  

  10.1添加远程库

   (1)在github上创建仓库

    Git使用
2 Git与svn对比
3 git工作流程

Git使用
2 Git与svn对比
3 git工作流程

10.2 ssh协议

  (1) 什么是ssh

    SSH 为 Secure Shell(安全外壳协议)的缩写,由 IETF 的网络小组(Network Working Group)所制定。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

  (2)shh密钥生成 ssh-keygen -t rsa

Git使用
2 Git与svn对比
3 git工作流程

 执行命令完成后,在window本地用户.ssh目录

Git使用
2 Git与svn对比
3 git工作流程

(3)ssh密钥配置

    Git使用
2 Git与svn对比
3 git工作流程

     Git使用
2 Git与svn对比
3 git工作流程

右键记事本打开公钥

Git使用
2 Git与svn对比
3 git工作流程

Git使用
2 Git与svn对比
3 git工作流程

10.3 同步到远程仓库  

  两条命令:

  git remote add origin git@github.com:myyyplus/git_test.git

  git push -u origin master

Git使用
2 Git与svn对比
3 git工作流程

 Git使用
2 Git与svn对比
3 git工作流程

  Git使用
2 Git与svn对比
3 git工作流程

   Git使用
2 Git与svn对比
3 git工作流程

 10.4 使用TortoiseGit同步

  Git使用
2 Git与svn对比
3 git工作流程

 10.4 使用TortoiseGit同步Git使用
2 Git与svn对比
3 git工作流程

Url,推送URL:远程仓库的地址

Git使用
2 Git与svn对比
3 git工作流程

 (1)推送

Git使用
2 Git与svn对比
3 git工作流程

 Git使用
2 Git与svn对比
3 git工作流程

 Git使用
2 Git与svn对比
3 git工作流程

10.5从远程仓库克隆

      Git使用
2 Git与svn对比
3 git工作流程

   Git使用
2 Git与svn对比
3 git工作流程