git版本管理的机制:
对文档的修改首先要保存在本地版本库:
git add -A
git commit -a -m "some hint messages for your change"
接下应该执行git pull,保证版本的一致性。这里要说明git对一致性的管理:
下面用例子说明,
如果一片初始文档为:
aaa
bbb
ccc
两个人甲和乙分别在本地对该文档进行操作。
git并不是以“行”为原子性的操作,而是以块,即初始的
aaa
bbb
ccc
为原子操作。
原子操作只要甲乙二人没有同时修改就不会产生冲突。只要记住这一原子就足以。
例如甲修改文档为
aaa
bbb
bbb
即把第三行变成了bbb
而乙修改文档为
aaa
bbb
ccc
zzz
其只是增加了一行zzz
那么当乙执行pull操作后,文档变为
aaa
bbb
bbb
zzz
即更新了甲的操作
但是,如果乙修改文档为
aaa
ccc
ccc
就会产生冲突,因为二人同时对原始数据块进行了操作,虽然他们的修改没有位于同一行。
对文档的修改首先要保存在本地版本库:
git add -A
git commit -a -m "some hint messages for your change"
接下应该执行git pull,保证版本的一致性。这里要说明git对一致性的管理:
下面用例子说明,
如果一片初始文档为:
aaa
bbb
ccc
两个人甲和乙分别在本地对该文档进行操作。
git并不是以“行”为原子性的操作,而是以块,即初始的
aaa
bbb
ccc
为原子操作。
原子操作只要甲乙二人没有同时修改就不会产生冲突。只要记住这一原子就足以。
例如甲修改文档为
aaa
bbb
bbb
即把第三行变成了bbb
而乙修改文档为
aaa
bbb
ccc
zzz
其只是增加了一行zzz
那么当乙执行pull操作后,文档变为
aaa
bbb
bbb
zzz
即更新了甲的操作
但是,如果乙修改文档为
aaa
ccc
ccc
就会产生冲突,因为二人同时对原始数据块进行了操作,虽然他们的修改没有位于同一行。