为什么使用Git

版本控制:版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。

  • 本地版本控制系统
    相当于一个软件,记录文件的变更,位于本地
  • 集中式版本控制系统(SVN)
    有一个中心服务器,中心节点,每个工作者连接到服务器,从中心获得文件,上传,下载,修改,若中心服务器文件没了,全都没了,还需要网络支持
  • 分布式版本控制系统(Git)
    每个人都有个仓库,同时有一个远程服务器存储

Git优势

  • 速度
  • 简单的设计
  • 允许上千个并行分支
  • 分布式

重要概念(文件状态)

image.png

已提交(committed):只有保存到本地了,完成了这个状态,才可以提交到远程服务器

起步:初次使用需要设置姓名和邮箱
--global:表示设置了以后,以后所有的项目都可以使用

克隆项目

image.png

添加文件并提交

image.png

image.png

举例中,添加了a.md,相当于对项目做了修改,“untracked files":文件还未提交到暂存区

git status:查看文件状态
git add .:将新增的删除 修改等文件全部放入暂存区
git commit -am "x":双引号中的内容是用于备注,git commit -a是将暂存区的更新放到本地库中
git push:将本地仓库推送到远程仓库,第一次使用需要输入git push origin master (为什么)

模拟多人合作

image.png

image.png

其他人在项目中进行了修改,推送到远程服务器,但你并不知道,你继续在本地修改文件,然后无法推送,因为你本地没有远程的更新,需要执行git pull,将远程更新与本地合并,执行合并后会进入vim编辑器,可添加信息,保存退出,之后可以推送

修改删除文件

image.png

修改后,直接git commit -a提交到暂存区,会进入vim编辑器,也是要你添加备注信息
image.png

总之,更新项目前,使用git pull更新本地文件,推送前,使用git add .提交到暂存区,git commit -am "X"提交文件到本地仓库

提问

  1. git clone url和git pull有什么区别?
  2. 本地仓库和远程仓库的区别?
  3. origin代表什么?
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容