为什么git不会给我任何文件更改?

时间:2015-09-09 09:19:10

标签: git

今天我遇到了一些我无法解释的奇怪情况,并担心这将在未来造成很多麻烦。

我和我的同事,我们正在开发网站。我们正在使用GIT,今天合并后我们发现这些样式没有出现在网站上。在查看git日志后,我们看到我的提交在哪里重写font.css文件,并在旧变种上更改字体urls路径(我的错)。他再次在git上推送他对font.css的更改。我看到他的提交,拉它,但我的font.css没有改变(仍旧使用旧网址)。好吧,我改变了自己,把它推到了git上。当我的同事拉它时,他有自己的font.css版本,而不是我的版本。我们正在使用bitbucket和源代码树。有没有人有任何想法,以及如何防止这种情况发生?

2 个答案:

答案 0 :(得分:0)

检查..

  • 您已使用git add
  • 正确添加了它们
  • 您已使用git commit
  • 正确提交了文件

如果这些都没问题,你应该能够在你的仓库上看到这个文件,比如GitHub吗?

如果您可以在Github上查看是否需要检查分支和流量,以确保从正确的位置提交和推/拉/合并。

不确定这是否是您工作流程的问题?不包含这些文件的唯一原因是您没有在git add中添加文件,或者它们在您的.gitignore文件中,因此被排除在外?

答案 1 :(得分:0)

难道你们俩都在不同的分支机构工作吗?

即:当您(和/或您的同事)从遥控器拉出时,会下载更改集,但它们会继续驻留在单独的分支中(例如fooorigin/foo)并且不会合并进入你的工作分支(例如bar)。

快速修复是手动合并两个分支:

git merge origin/foo

如果你想继续在不同的分支机构工作,你应该使用"部署"分支(例如master),您在其中合并了您想要在实际目标网页上看到的所有更改(并且不必担心在您的工作分支中使用非工作代码时意外破坏它)。

如果你有足够的信心,你不会破坏事情,你也可能只是决定让你和你的同事直接推进一个分支(master)。

在任何情况下,您都应确保将本地分支设置为track相应的远程分支:

git push --set-upstream origin foo