2

我有一个与当前目录中的 rails 项目相同或相似的遥控器。为了同步两者,我做

git init
git remote add origin blah@blah
git pull

问题是我在工作副本中的一些文件被添加了(即不在远程中),所以当我这样做时

git status 

它应该显示一堆未跟踪的文件。相反,我看到来自 repo 的文件已过期。
为什么它不要求我解决这些文件中的冲突?我的旧文件在哪里?

4

3 回答 3

3

“git pull”中隐含的合并必须覆盖未提交的本地文件。

我建议这个顺序:

git init
git add .
git commit -m"local"
git remote add origin blah@blah
git fetch origin

此时,使用“gitk --all”观察存储库

合并

git merge remotes/origin/master

这应该让您知道冲突(如果有)。并且本地文件不会被覆盖。

于 2010-07-07T04:38:15.560 回答
0

如果你有一个本地 repo(带有它的工作目录),你不应该需要 ' git init' 任何东西。

git remote add origin blah@blah
git pull

应该足够了。

如果您制作了一个git init,那应该在一个空的存储库中,然后您在其中导入了 ' origin' 的主内容。


我没有本地仓库,只有本地文件。

然后你需要先添加它们(见r-mercado回答)。

git pull手册页

警告:不鼓励使用未提交的更改运行git pull(实际上是底层git merge):虽然可能,但它会使您处于在发生冲突时难以退出的状态。

于 2010-07-07T03:50:59.230 回答
0

如果在您执行上述命令之后,您尝试执行此操作会怎样?

git checkout blah
git pull origin blah

我还在学习git,所以我不是很肯定,只是一个猜测。(可能也需要在上面的命令中替换为。blahblah@blah

于 2010-07-07T03:51:10.180 回答