一个git和svn混用,导致git无法push的问题

208 views
Skip to first unread message

Jacky

unread,
Apr 10, 2012, 9:55:13 PM4/10/12
to git...@googlegroups.com
各位,麻烦一个问题:

git 1.79

公司使用svn,我的电脑上使用git来管理项目;
我使用git svn rebase&&git svn dcommit 来向公司的svn服务器提交我的修改;
我同时架设了一台git服务器,用于分布式开发;
每次我执行了git svn rebase之后,都会使用git push向git服务器提交修改;
以前,这种修改是svn-git单线的,就是说我不会从git服务器pull修改,然后提交到svn服务器;只会从svn服务器rebase之后push到git服务器。
但昨天有两个项目是在家中进行了修改,然后push到git服务器;接着我在公司电脑上pull了两个项目的修改,然后git svn dcommit到公司的svn服务器。
这些操作都是成功的。

但下面的操作出错了。

我从公司的svn服务器git svn rebase了最新的修改,准备提交到git服务器;
出现了这样的错误:

 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@githost:xxxxxxxx.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.

我如果使用git pull来fast-forwards,本地git的数据会还原,再次执行git svn rebae&&git push,依然会出现这个错误。

请问这种情况如何处理?

============================
曾嵘
Blog:http://www.zengrong.net

Dong Xu Wang

unread,
Apr 12, 2012, 1:11:39 AM4/12/12
to git...@googlegroups.com
Hi,

我用git format-patch 制作patch,然后发送到gmail里面,我们知道gmail里面是可以按照分组的方式来排列邮件的,
我的问题是:

1. 我第一次生成的patch可能是:
[PATCH 1/2 V1] Sample Subject 1
[PATCH 2/2 V1] Sample Subject 2

那么我怎么能让发出去的第二个patch作为第一个patch的回复发上去呢?

2. 假设我又做了若干修改,做成了第二版
[PATCH 1/2 V2] Sample Subject 1
[PATCH 2/2 V2] Sample Subject 2

同样的问题,怎么样能让第二版作为第一版的回复发上去呢?

用git自带的git send-email发送。

多谢。

Chunlin Zhang

unread,
Apr 12, 2012, 2:14:21 AM4/12/12
to git...@googlegroups.com
我猜可能是靠Message-ID 来判断线索的
例如本线索的第一封是
Message-ID: <CAHktP-EGa-xvTTG0-XGUr7YH...@mail.gmail.com>
你这一封是
In-Reply-To: <CAHktP-EGa-xvTTG0-XGUr7YH...@mail.gmail.com>
References: <CAHktP-EGa-xvTTG0-XGUr7YH...@mail.gmail.com>
Message-ID: <CAGrFBshLGZ=ZWVTMqdOkM0XMXCReys...@mail.gmail.com>

不过你回了这封但又提了不相干的问题,不礼貌哦

2012/4/12 Dong Xu Wang <donal...@gmail.com>:

Dong Xu Wang

unread,
Apr 12, 2012, 10:40:43 PM4/12/12
to git...@googlegroups.com


2012/4/12 Chunlin Zhang <zhangc...@gmail.com>

我猜可能是靠Message-ID 来判断线索的
例如本线索的第一封是
Message-ID: <CAHktP-EGa-xvTTG0-XGUr7YH...@mail.gmail.com>
你这一封是
In-Reply-To: <CAHktP-EGa-xvTTG0-XGUr7YH...@mail.gmail.com>
References: <CAHktP-EGa-xvTTG0-XGUr7YH...@mail.gmail.com>
Message-ID: <CAGrFBshLGZ=ZWVTMqdOkM0XMXCReys...@mail.gmail.com>

不过你回了这封但又提了不相干的问题,不礼貌哦
Sorry,  操作失误哈。

Jacky

unread,
Apr 12, 2012, 10:55:17 PM4/12/12
to git...@googlegroups.com
哦,我不会生气的

不过我的问题,有没有人知道呢?


============================
曾嵘
Blog:http://www.zengrong.net



360.gif

Wendal Chen

unread,
Apr 13, 2012, 7:24:54 AM4/13/12
to git...@googlegroups.com
我如果使用git pull来fast-forwards,本地git的数据会还原,再次执行git svn rebae&&git push,依然会出现这个错误。 

然后

git commit -a -m "..."
git pull
git push
--
Wendal Chen
GuangDong China
360.gif
Reply all
Reply to author
Forward
0 new messages