GIT使用前的安装

来源:互联网 发布:淘宝访客计算方式 编辑:程序博客网 时间:2024/05/18 00:34

svn与git的区别
1.先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。
2.集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟,这还不得把人给憋死啊。
3.那分布式版本控制系统与集中式版本控制系统有何不同呢?首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
4.和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。
5.在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。

=============================================

  1. git可以在没有网络的环境下也可以通过操作本地仓库进行管理项目.
  2. github与git实现了集成.

  3. 在git官网下载git并安装

  4. git –version 查看安装是否成功
  5. 在path环境变量中检查是否自动添加git的全局环境
  6. 安装git的客户端,可使用tortoiseGIT(小乌龟)
  7. 在本地磁盘系统中右击,如果有git here等操作,则证明安装成功.
  8. 使用: 通过git init命令把这个目录变成Git可以管理的仓库
  9. 用命令git add告诉Git,把文件添加到仓库 : git add 名称
  10. 用命令git commit告诉Git,把文件提交到仓库: git commit -m ‘注释’
  11. 运行git status命令看看结果:git status (查看状态)
  12. git diff顾名思义就是查看difference : git diff
  13. 版本控制系统肯定有某个命令可以告诉我们历史记录,在Git中,我们用git log命令查看:git log
  14. 如果嫌输出信息太多,看得眼花缭乱的,可以试试加上–pretty=oneline参数:
  15. 版本回退 首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交3628164…882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
  16. 版本回退使用命令 git reset命令: git reset –hard ‘id’
  17. 在Git中,总是有后悔药可以吃的。当你用$ git reset –hard HEAD^回退到旧版本时,再想恢复到刚才的新版本,就必须找到新版本的commit id。Git提供了一个命令git reflog用来记录你的每一次命令:git reflog (记录每一项操作,)
  18. Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念 工作区(Working Directory)就是你在电脑里能看到的目录
  19. 版本库(Repository) 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
  20. Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
  21. 分支和HEAD的概念我们以后再讲。前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:
  22. 第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就在master分支上提交更改。
  23. 这里写图片描述
  24. 当对某一文件进行修改后,执行命令 git add, 然后再对该文件进行修改,然后执行命令 git commit时,此时第二次修改并不会提交.需要在第二次修改完成后执行命令 git add
  25. 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。总之,就是让这个文件回到最近一次git commit或git add时的状态。现在,看看readme.txt的文件内容:git checkout – file命令中的–很重要,没有–,就变成了“切换到另一个分支”的命令,我们在后面的分支管理中会再次遇到git checkout命令。
  26. 现在假定是凌晨3点,你不但写了一些胡话,还git add到暂存区了:庆幸的是,在commit之前,你发现了这个问题。用git status查看一下,修改只是添加到了暂存区,还没有提交:Git同样告诉我们,用命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区:git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。再用git status查看一下,现在暂存区是干净的,工作区有修改:
  27. 文件删除: 那就用命令git rm删掉,并且git commit:
  28. 误删操作: git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。 : git checkout –文件名称
  29. 处理冲突.先将代码commit到本地仓库,然后pull,将中央仓库的代码拉过来.然后进行冲突修改.然后push到中央仓库
  30. <<<<<