Git基础
- git 是一个分布式版本管理系统,方便代码文件的管理,方便多人同时开发项目或修BUG。
- git 在提交时,首先需要把文件加入到索引区域中。
- HEAD表示当前版本,即最新的提交
Git命令
- 确认工作树和索引的状态
- $ git status
- 将文件加入到索引
- $ git add ..
- $ git add . 把所有文件加入到索引
- 提交文件,执行commit命令 (本地数据库)
- $ git commit -m “”
- 查看数据库的提交记录
- $ git log
- 指定 –graph 选项,能以文本形式显示更新记录的流程图。
- 指定 –oneline 选项,能在一行中显示提交的信息
共享数据库
- 上传本地数据库中存储的修改记录,将本地数据库的修改记录共享到远程数据库。
- 执行推送(Push)操作。
- $ git push …
- 处输入目标地址
- 处指定推送的分支
- 指定-u选项,下一次推送时可以省略分支名称,首次运行指令向空的远程数据库推送时,必须指定远程数据库名称和分支名称。
- 复制远程数据库的修改记录到本地数据库。
- 进行克隆(Clone)操作。
- $ git clone
- 指定远程数据库的URL
- 指定新目录的名称
- 当在克隆的数据库目录执行推送时,可以省略数据库和分支名称。
- 共享的远程数据库由多人同时作业,从远程数据库下载最新的变更日志,覆盖自己的本地数据库的相关内容。
- 进行拉取(Pull)操作。
- $ git pull …
- $ git pull origin master
- master本地数据库的master分支
- origin/master 远程数据库的origin的master分支
- 添加远程数据库。
- $ git remote add
- URL: 统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。
- $ git remote add
整合修改记录
- 在执行pull之后,进行下一次push之前,如果其他人进行了推送内容到远程数据库的话,那么你的push将被拒绝。这种情况下,在读取别人push的变更并进行合并操作之前,你的push都将被拒绝。这是因为,如果不进行合并就试图覆盖已有的变更记录的话,其他人push的变更就会丢失。
- 如果远程数据库和本地数据库的同一个地方都发生了修改的情况下,因为无法自动判断要选用哪一个修改,所以就会发生冲突,会报错推送就会被拒绝。需要手动修正冲突。
- 解决冲突
- 首先运行pull,以从远程数据库取得最新的变更记录。
- $ git pull origin master
- 打开本地数据库中的文件,Git已添加标示以显示冲突的部分。
- 手动修改
- 进行提交
- $ git add
- $ git commit -m “”
- 用log命令确认数据库的历史记录是否准确。
- 首先运行pull,以从远程数据库取得最新的变更记录。