介绍
Git可以在任何时间点,把文档的状态作为更新记录保存起来。因此可以把编辑过的文档复原到以前的状态,也可以显示编辑前后的内容差异。
用Git管理文件的话,更新的历史会保存在Git,所以不需要备份文件啦。
Git的数据库分为远程数据库和本地数据库的两种。
远程数据库: 配有专用的服务器,为了多人共享而建立的数据库。
本地数据库: 为了方便用户个人使用,在自己的机器上配置的数据库。
创建本地数据库的方法有两种:一种是创建全新的数据库,另一种是复制远程数据库。
若要把文件或目录的添加和变更保存到数据库,就需要进行提交。
执行提交后,数据库中会生成上次提交的状态与当前状态的差异记录(也被称为revision)。
Git的标准注解:
第1行:提交修改内容的摘要
第2行:空行
第3行以后:修改的理由
新建数据库:
首先在任意一个地方创建tutorial目录。若要把tutorial目录放在Git的管理之下,请右击后从菜单中选择「Git 在这里创建版本库」。
打开tutorial目录,右击任意空白地方,然后从右击菜单选择‘Git提交’。
点选‘变更列表’里的sample.txt,然后在日志信息方框中输入提交信息,再点击‘确定’键。
共享数据库
如何在远程数据库上共享本地数据库的修改记录:Push操作
克隆远程数据库:clone
从远程数据库拉取:pull
使用pull指令进行拉取操作。省略数据库名称的话,会在名为origin的数据库进行pull。
git pull origin master
合并
在执行pull之后,进行下一次push之前,如果其他人进行了推送内容到远程数据库的话,那么你的push将被拒绝。
这种情况下,在读取别人push的变更并进行合并操作之前,你的push都将被拒绝。这是因为,如果不进行合并就试图覆盖已有的变更记录的话,其他人push的变更就会丢失。
执行合并即可自动合并Git修改的部分。但是,也存在无法自动合并的情况。
如果远程数据库和本地数据库的同一个地方都发生了修改的情况下,因为无法自动判断要选用哪一个修改,所以就会发生冲突。
我们需要手动修正冲突。
==分割线上方是本地数据库的内容,
下方是远程数据库的编辑内容。
修正所有冲突的地方之后,执行提交。
解决冲突:
1、 首先请运行pull,以从远程数据库取得最新的变更记录。
git pull origin master
显示合并时发生冲突的讯息:“CONFLICT (content): Merge conflict in sample.txt
Automatic merge failed; fix conflicts and then commit the result.”
2、请打开sample.txt文件,我们看到Git已添加标示以显示冲突部分。请为Git无法完成主动合并的部分做修改。导入两方的修改,并删除多余的标示行以解决冲突。
3、文件的内容发生了修改,所以需要进行提交。
$ git add sample.txt
$ git commit -m “合并”
4、我们可以用log命令来确认数据库的历史记录是否准确。
5、再次push
git add commit push 区别
git add:将修改或新增的文件添加到暂存区(stage),使其准备好提交到版本库。这个命令可以接受一个或多个参数,参数可以是文件名、文件夹名或通配符等,指定要添加的文件。例如,使用git add file.txt命令将file.txt文件添加到暂存区。
git commit:将暂存区中的修改提交到本地仓库(commit),生成一个新的本地提交对象。这个命令需要一个提交信息,用于描述本次提交的内容和目的。例如,使用git commit -m "add file.txt"命令将暂存区中的修改提交到本地仓库,并且提交信息为“add file.txt”。
git push:将本地仓库中的修改推送到远程仓库(push),使得本地仓库和远程仓库保持同步。这个命令需要指定远程仓库的名称和分支名称。例如,使用git push origin main命令将本地仓库中的修改推送到名为origin的远程仓库的main分支。