我一直在为我的所有项目使用SVN.有时项目B起源于项目A的副本.当项目A具有一般更改时,我可以svn merge A在目录B中使用它并合并这些更改.
现在,如果我想使用git.我不喜欢将我的所有项目放在同一个存储库中,因为我必须克隆所有项目,而不能像SVN那样选择一个项目.但是每个项目都有一个存储库,我如何像以前使用SVN一样进行相同操作?
问题是: 如果我想要几个真正与一个原始项目相关的子项目并使它们保持同步,那么构建它的最佳方法是什么?而且我也希望能够单独检查它们
在Git中是否有任何命令可以清除屏幕.例如在执行大量代码后的窗口命令行中,如果键入cls,那么它将清除所有以前的代码.所以我想在Git中使用相同类型的功能.所以任何人都可以告诉我命令名称.
我想知道将代码从SVN存储库移动到GIT存储库的推荐方法,以便我们转换开发人员团队并开始使用GIT.
我们可以进行转换并在SVN存储库中完成所有提交吗?
此外,我们的团队目前对SVN感到满意,但是,他们不知道GIT中的分支比SVN容易得多,在哪里可以找到一个证明GIT在分支方面具有强大功能的实际例子?
我有一个分支'firstproject'有2个提交.我想摆脱这些提交并使它们显示为单个提交.
该命令git merge --squash听起来很有希望,但是当我运行git merge --squash终端时,只会显示该命令的选项.什么是正确的命令?
Commit 1:
Added 'homepage.html'
Added 'contacts.html'
Commit 2:
Added 'homepage.php'
Added 'homepage.php'
Deleted 'homepage.html'
Deleted 'contacts.html'
Run Code Online (Sandbox Code Playgroud) 我有一个我必须承诺的中央SVN存储库,但我对git充满热情(就像我认识的任何其他开发人员一样).这个案子众所周知.
然后我读了一下git-svn并尝试了一下.由于我不需要完整的历史,仅仅两个月左右,我就是这样的:
git svn clone -r 34000 -s https://svn.ourdomain.com/svn/repos/Project/SubProject
Run Code Online (Sandbox Code Playgroud)
像往常一样,SubProject拥有子目录trunk,tags和branches.大.
然后,为了获得最后一次修订,我做到了
git svn rebase
Run Code Online (Sandbox Code Playgroud)
有些下载,很棒.最后修订,日志等等,好的,现在我将切换到我的功能分支.
$ git branch
* master
Run Code Online (Sandbox Code Playgroud)
$ git branch -r
trunk
Run Code Online (Sandbox Code Playgroud)
$ git branch -a
* master
remotes/trunk
Run Code Online (Sandbox Code Playgroud)
问题是:我的分支在哪里?我做错了什么吗?我怎么做才能在新的git仓库中获得我的分支机构?
git-svn,无论我在哪里阅读它,明智地处理分支和标签,但行为不是我所期望的.谢谢!
编辑:我刚刚发现git svn fetch将会这样做.但它会得到所有修改,这是我不喜欢的.
一句警告:git一般来说,我是一个n00b .我的团队使用了功能分支svn,我想用它git-svn来跟踪我在特定功能分支上的工作.我(大致)跟随Andy Delcambre的帖子来设置我的本地仓库git,但这些指令似乎导致git选择svn最近更改为远程存储库的分支; 问题是,这不是我关心的分支.如何控制哪个分支git-svn使用?或者我接近这个完全错误?
更新:我确实使用了-T,-b和-t选项(在我的情况下,因为svnrepo有多个项目,但我希望gitrepo只包含我正在处理的项目).
我使用git作为scm的首选,但必须使用svn-repo.我可以像这样创建一个svn-remote-branch:
git svn branch the_branch
Run Code Online (Sandbox Code Playgroud)
但是我如何删除远程分支?
来自SVN世界,我是git的新手.到目前为止,它似乎更有用,但我仍然在解决问题.
目前,我的工作流程是这样的:
进行更改> git add.> git commit>输入日志消息
我不明白的是为什么我似乎必须在提交之前添加所有文件.他们已经受版本控制了吗?为什么git commit告诉我没有添加到提交的更改,但是也指出我修改了文件?它说"已更改但未更新:".这是什么意思??
对不起,如果这很容易,我觉得我错过了一些重要的观点
我们最近从SVN迁移到Git.我们在LAN网络中的一台机器上设置了一个裸存储库,并在其他机器上克隆.现在,当任何人进行更改和提交时,我们希望他将拉取请求发送到裸仓库(通过告知或通过电子邮件或任何其他方式)之后,将通过更改并将其拉到裸存储库(同样适用于它) GitHub上).
我们是否需要安装任何接口或Git本身有一些命令?
git-svn ×10
git ×9
svn ×4
branch ×2
git-bash ×1
merge ×1
pull-request ×1
rebase ×1
repository ×1