git 获取git仓库
关于git的理解
1:git同VCS和SVN不同,它是分布式版本控制工具,就是各个仓库都可以 作为中央仓库,而集中式版本控制工具只有一个集中的中央仓库,每个开发者拥有不同的读写权限,并且在更新和提交的时候都必须联网(从中央仓库直接联网更新下来,或者将本地改动直接提交到中央仓库,不能本地提交,因为本地不具有中央仓库的功能,git就可以);而git就不同,你所有的改动都可以先提交到本地仓库,到网络允许时再推送到本地改动到指定的中央仓库,这样其他开发人员就可以从中央仓库获取最新代码,来完成协同开发。
2:集中式版本控制工具和分布式版本控制工具的一点不同之处是:分布式的仓库原理上各个仓库都是等同的,只是在协同开发的时候,我们会指定一个仓库作为中央仓库,每个开发人员都从中央仓库中去更新和提交,但是假如由于突发事件和不确定因素,指定的中央仓库挂了,那我们完全可以将任何其他仓库当做临时中央仓库来继续开发。但是集中式就不行,如果中央仓库挂了,或者是没有网络,开发人员就不能正常更新和提交代码。这一点来说,分布式的风险就小。
3.分布式版本控制系统由于本地可以提交,所以操作更方便且速度更快。
获取git仓库有2中方法
1.已有远程git仓库:git仓库已经存在,这个时候,我们只需要从远程git仓库中克隆完整的远程仓库镜像到本地即可。
(1):本地新建一个目录作为本地仓库根目录,根目录下执行git init完成对当前目录的初始化,使其具有作为git仓库的能力。
相关命令:
git init 初始化目录为git仓库
(2):初始化仓库成功之后,就可以从远程仓库克隆代码。
git clone [远程git仓库地址] 克隆远程git仓库到当前目录
至此,你本地的代码和远程git仓库是一模一样的了,但是你现在还不能和远程git交互,比如pull、push本地代码到远程,为此你要完成以下步骤
(3)添加远程仓库:即将本地仓库和远程仓库关联
相关命令:
git remote 查看所有关联的远程仓库,以简单别名显示
git remote -v 查看所有关联的远程仓库信息,别名和地址等信息
git remote add [远程仓库别名] [远程仓库地址] 添加远程仓库地址,并以简单别名代表
至此你就可以和远程git仓库正常push pull 代码了
相关命令:
git pull [远程仓库名] [远程仓库分支] 从远程指定仓库指定分支拉去代码(比如:git pull origin master)
一般第一次pull的时候常出现问题,如有冲突需要先解决冲突然后本地提交之后在pull,建议用以下命令:
git pull [远程仓库名] [远程仓库分支] --allow-unrelated-histories
2.第一次将本地项目push到远程仓库地址:只有一个本地的项目,和远程仓库的地址,但远程仓库没有项目代码,要将本地的代码push到远程仓库
(1)在项目根目录下初始化本地git仓库
相关命令:
git init 初始化目录为git仓库
(2)添加远程仓库:即将本地仓库和远程仓库关联
相关命令:
git remote 查看所有关联的远程仓库,以简单别名显示
git remote -v 查看所有关联的远程仓库信息,别名和地址等信息
git remote add [远程仓库别名] [远程仓库地址] 添加远程仓库地址,并以简单别名代表
(3)第一次推送所有内容到远程仓库
常用命令:
git push -u [远程仓库分支] [本地仓库分支] 第一次推送所有内容到远程仓库