教程3 整合修改记录
解决冲突
为了把变更内容推送到远程数据库,我们必须手动解决冲突。首先请运行pull,以从远程数据库取得最新的变更记录吧。
Windows
用tutorial进行的操作 若要进行pull操作,请右击tutorial目录,并选择‘拉取’。
用tutorial进行的操作 在以下画面点击‘确定’。
用tutorial进行的操作 我们看到画面上的警告信息表示自动合并失败。请点击‘关闭’以退出窗口。
用tutorial进行的操作 若您确认变更,请点击‘Yes’。
用tutorial进行的操作 TortoiseGit告诉我们:因"sample.txt"出现了合并冲突,所以自动合并失败。请点击‘确定’以关闭画面。
用tutorial进行的操作 当打开sample.txt,您会看到Git已添加标示以显示冲突部分。
- 连猴子都懂的Git命令
- add 把变更录入到索引中
- <<<<<<< HEAD
- commit 记录索引的状态
- =======
- pull 取得远端数据库的内容
- >>>>>>> 17c860612953c0f9d88f313c8dfbf7d858e02e91
我们将保留两方的修改,并删除多余的标示行以解决冲突。
- 连猴子都懂的Git命令
- add 把变更录入到索引中
- commit 记录索引的状态
- pull 取得远端数据库的内容
用tutorial进行的操作 既然解决了冲突,并且文件的内容已修改,现在我们需要提交。请右击并从菜单中选择‘提交’。
这样,我们已成功地从远程数据库导入最新的修改内容。
这表明两个修改记录通过新的合并提交已经成功整合了。
这时候可以把修改推送到远程数据库,应该不会发生合并冲突了。
辛苦了!Git的基本使用方法的说明到这里就告一段落了。有关分支以及修改等更高阶的内容,请参见高级篇!
Mac
用tutorial进行的操作点击工具栏的“pull” 按钮。
用tutorial进行的操作显示如下画面,点击OK按钮。
用tutorial进行的操作显示对话框,表明在合并中发生了冲突。
用tutorial进行的操作打开sample.txt文档进行确认。对Git发生冲突的部分进行如下修改。
- 连猴子都懂的Git命令
- add 把变更录入到索引中
- <<<<<<< HEAD
- commit 记录索引的状态
- =======
- pull 取得远端数据库的内容
- >>>>>>> 17c860612953c0f9d88f313c8dfbf7d858e02e91
在这里导入两方的修改,并删除多余的标示行。
- 连猴子都懂的Git命令
- add 把变更录入到索引中
- commit 记录索引的状态
- pull 取得远端数据库的内容
用tutorial进行的操作修改了文件的内容之后,我们需要进行提交了。
这样就完成了从远程数据库导入最新的修改内容。
这表明两个修改记录已经整合了。
这时候,之前被拒绝的push应该可以通过了,push一下看看吧。
辛苦了!Git的基本使用方法的说明到这里就告一段落了。有关分支以及修改等更高阶的内容,请参见高级篇!
主控台
用tutorial进行的操作请执行以下指令。
- $ git pull origin master
- Username: <用户名>
- Password: <密码>
- remote: Counting objects: 5, done.
- remote: Compressing objects: 100% (2/2), done.
- remote: Total 3 (delta 0), reused 0 (delta 0)
- Unpacking objects: 100% (3/3), done.
- From https://nulab.backlog.jp/git/BLG/tutorial
- * branch master -> FETCH_HEAD
- Auto-merging sample.txt
- CONFLICT (content): Merge conflict in sample.txt
- Automatic merge failed; fix conflicts and then commit the result.
显示合并时发生冲突的讯息。
用tutorial进行的操作 讯息显示「Merge conflict in sample.txt」。请打开sample.txt文件,我们看到Git已添加标示以显示冲突部分。请为Git无法完成主动合并的部分做以下的修改。
- 连猴子都懂的Git命令
- add 把变更录入到索引中
- <<<<<<< HEAD
- commit 记录索引的状态
- =======
- pull 取得远端数据库的内容
- >>>>>>> 4c0182374230cd6eaa93b30049ef2386264fe12a
用tutorial进行的操作
导入两方的修改,并删除多余的标示行以解决冲突。
- 连猴子都懂的Git命令
- add 把变更录入到索引中
- commit 记录索引的状态
- pull 取得远端数据库的内容
用tutorial进行的操作 文件的内容发生了修改,所以需要进行提交。
- $ git add sample.txt
- $ git commit -m "合并"
- [master d845b81] 合并
这样就完成了从远程数据库导入最新的修改内容。
用tutorial进行的操作 我们可以用log命令来确认数据库的历史记录是否准确。指定—graph选项,能以文本形式显示更新记录的流程图。指定—oneline选项,能在一行中显示提交的信息。
- $ git log --graph --oneline
- * d845b81 合并
- |\
- | * 4c01823 添加pull的说明
- * | 95f15c9 添加commit的说明
- |/
- * 3da09c1 添加add的说明
- * ac56e47 first commit
这表明两个修改记录已经整合了。
这时候,之前被拒绝的push应该可以通过了,push一下看看吧。
辛苦了!Git的基本使用方法的说明到这里就告一段落了。有关分支以及修改等更高阶的内容,请参见高级篇!