我正在与其他人一起使用git存储库来处理文档。当我拉时,其他人所做的更改将被还原,并且此还原被视为我所做的更改。当然,如果我提交并推送它,我会将这个错误的版本传播到仓库中。
这不是我第一次通过git与其他人一起工作,但这是我第一次发生这种情况。几乎每次我拉时都会发生这种情况。
我真的不明白怎么可能。
谢谢
编辑:
git config -l
的输出:
user.email=***
user.name=***
push.default=matching
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
remote.origin.url=***.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
branch.name1.remote=origin
branch.name1.merge=refs/heads/name1
branch.name2.remote=origin
branch.name2.merge=refs/heads/name2
编辑2:
我做了这个实验:
git pull
git commit -a -m "bad version"
git checkout (hash of penultimate commit)
我获得了所需的版本(其他人发布的最新版本)。但这是无法使用的,因为HEAD已分离。
编辑3:
好。我认为git和TeXmaker之间存在冲突。在git pull
之后,我取消了更改(应修改的文件保持原样)。如果文档被TeXmaker使用,当我运行git reset --hard
时,它什么也不做;如果TeXmaker关闭,则git reset --hard
起作用(文档在上一次提交时返回其状态)。
答案 0 :(得分:1)
事实证明,此行为是由于git和TeXmaker(我用来编辑文档的软件)之间发生了意外交互所致。如果在TeXmaker中打开了文档,则git pull
不会更改文档,则会导致我描述的问题。
解决方案可能是:关闭TeXmaker,然后拉开并重新打开TeXmaker。我想还是可以使用其他软件。