- 论坛徽章:
- 0
|
本帖最后由 yaoyansi 于 2011-04-21 15:21 编辑
Hi, 大家好
问题的背景是这样的
1.A是一个github上的开源项目ReposA,使用git做代码管理。
2.我现在要基于A开发一个项目B,
a)B基于A的r0版本的代码(记为Ar0)开发,
b)B需要改A的源代码(A的这些被改动的代码文件记为AM)
c)A现在也在不断更新,假设今后某一天A的版本r1(代码记为Ar1).B需要将Ar1(相对于Ar0的)增加的代码,更新到B里。
d)同时B还有我自己写的新代码文件(这些文件记为BM)
e)暂时不能把B提交到A的代码库里,只能在本地建立我的代码服务器S和代码库ReposB,也就是说AM和BM不能提交到ReposA里。
f)可以肯定的是BM需要提交到ReposB里。
3.我对svn比较熟,搭建过svn服务器(win/linux);对于git,hg只用过客户端(仅限于checkout),
4.开发环境是windows
问题如下:
1)该用svn,git,还是hg?如何管理?
2)AM应该提交到哪里?
3)有没有什么其他好的建议?
谢谢
------------------------------------------------------------
今天在学习git,使用TortoiseGit做了如下测试,同时也遇到一些问题:
测试步骤如下:
1.在本地d:\gittest\webserver\repos\建立代码,建立分支branch0 (模拟ReposA)
2.在本地d:\gittest\localserver\repos\建立上述webserver的clone,
3.开发者user0 在d:\gittest\user0\repos\下clone localserver,在branch0做开发,比如,增加一个文件user0_file0.txt
4.开发者user1 在d:\gittest\user1\repos\下clone localserver,在branch0做开发,比如,增加一个文件user1_file0.txt
现在的问题是,如何把user0_file0.txt,user1_file0.txt 更新到d:\gittest\localserver\repos\下。
我在d:\gittest\user0\repos\下选择“TortoiseGit”->push,点击OK后会提示:- git.exe push --progress "origin" branch0 :branch0
- Counting objects: 3, done.
- Compressing objects: 100% (2/2)
- Writing objects: 100% (2/2)
- Writing objects: 100% (2/2), 243 bytes, done.
- remote: error: its current branch; however, this is not recommended unless youository to allow pushing intoch' configuration variable toinconsistentnch in a non-bare remote: remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.ep the default behaviour, set
- To D:\tmp\gittest\local_master\repos
- ! [remote rejected] branch0 -> branch0 (branch is currently checked out)
- error: failed to push some refs to 'D:\tmp\gittest\local_master2\repos'
复制代码 |
|