2

私たちのチームはゲームを開発しています。

コードに基づいた別のプロトタイプを試してみたいのですが、少し異なります。
コードリポジトリにはsvnを使用します。

さて、私自身のプロトタイプの場合、svnからの更新を保持できるが、誤って変更をコミットさせないように、リポジトリをどのように設定する必要がありますか?

ここでは分岐(または分岐?)が関連する概念だと思いますが、実際には自分で設定していません。

誰かが概念的な戦略をレイアウトすることができればそれは役に立ちます。
自分でbranching/mergeing_backを行ったことがないのに、以下は私が考えていることです。
私はこれに近づくのに正しい軌道に乗っていますか?

  1. プロジェクトをフォークする
  2. フォークされたプロジェクトに変更を適用し、メイントランクから更新を取得し続けます
  3. 必要に応じて、変更をメイン(私のチームのsvnリポジトリ)にマージします。
  • 実用的なヒント(svn / gitの選択など)をいただければ幸いです。
4

2 に答える 2

1

I think you can do that with just using SVN: "fork the project" == "create a branch" for your case. It's a common process: create a branch, make changes, maybe periodically merge trunk into it (so called sync merge), merge it back to trunk if the prototype was successful or forget about the branch. Maybe while working on the copy of a codebase, you'll fix some bugs in original code, so you can cherry-pick fixes back to original trunk version (this is the reason not to fork the project to a separate repository).

If you prefer Git, have a look at these tools:

  • SubGit. You install it into your SVN repository and it creates a Git interface for the SVN repository (pure Git interface, not git-svn) with on-the-fly merge, ignores and tags translation. So you may try both of the interfaces and eventually turn on of the interfaces off (leaving just Git if your team decide to switch to it completely or maybe only SVN, if Git didn't suit you).
  • You may also use git-svn, but provides rather restricted functionality: you can push only linear history, it doesn't translate ignores or tags on-the-fly; doesn't support cherry-picks
  • You may look at SmartGit as git-svn replacement: supports ignores, tags, cherry-pick and even svn:externals
于 2012-07-02T11:05:55.287 に答える
0

答えは、プロジェクトの規模と、開発をどこまで進めるかによって決まると思います。

より大きなプロジェクトになるでしょう、そしてあなたが行く限り、あなたはあなたのための便利なツールが誰からのどんなアドバイスよりも個人的に価値があることに気付くでしょう。

いずれにせよ、集中型よりも分散型バージョン管理を選択します。そして、gitは市場で最も先進的なDVCSの1つです。あなたはそれを間違えることはありません。

私たちのプロジェクトでは、開発者のワークステーションでgitを使用しており、サーバー上でメインストレージ(PVCS Serena)として集中型バージョン管理を行っています。Serenaとgitを自動的に同期するプラグインはありません。これを手動で行い、gitの利点を使用するためのこの小さなやり過ぎを考慮しています。

しかし、あなたの場合、git-svnSubGitが役に立ちます。

ただし、バージョン管理以上のものが必要な場合(そして、何らかの理由でgithubを使用できなかった場合)—問題追跡、ドキュメントwiki、fossilを検討してください。gitと同じ原則に基づいて構築されていますが、問題追跡、ドキュメントwiki、Webインターフェイス、およびインストールする必要のない非常に小さな実行可能ファイルがあります。

しかし、変更が重要でない場合、または実際に遠くまで行く予定がない場合は、他の人が使用している標準的な選択に固執しないのはなぜですか?

于 2012-07-03T09:19:59.803 に答える