2011-07-08 13 views
0

TortiseSVNを使用すると、ディレクトリを右クリックして更新またはコミットを選択することで、単一のディレクトリを更新/コミットできます。git-svnは1つのディレクトリをコミットしますか?

gitの分岐力は本当に好きですが、git svn dcommitを使用すると、リポジトリ全体を更新しようとします。私たちのケースではいくつかのプロジェクトがあります。

特定のファイル/ディレクトリのみをコミットするにはどうすればよいですか?

ありがとうございます!

EDIT

SVNのリポジトリがどのように見えるかを明確にする:

+- Trunk 
| 
+-+- Project 1 
| | 
| +- Project 1 files... 
| 
+-+- Project 2 
| | 
| +- Project 2 files.. 
| 
+-+- My Project 
    | 
    +- My Project files... 

そして、私はgit svn dcommitを実行すると、それはProject 1, 2、およびMy Projectのすべてを更新しようとします。

プロジェクト1と2は完全に無関係であり、他人による開発中です。他のプロジェクトへの更新/コミットを避けるにはどうすればよいですか?これらのディレクトリを.gitignoreに追加するだけですか?後で他のプロジェクトで作業する必要がある場合はどうなりますか?あるいは、このタイプのSubversionリポジトリではgit svnを使用するより良い方法がありますか?その後、

+0

http://stackoverflow.com/questions/3334475/git-how-to-update-checkout-a-single-file-from-remote-origin-master –

答えて

0

git addしたいディレクトリは、それをコミットし、(適切な桜狩りの後)dcommitを行う

私は複数のプロジェクトを持っていることの問題がでてくるか表示されません。あなたは、あなたの中のファイルを追加していく予定関連するプロジェクトを追加して追加します。ここでSVNのコミットをdcommitと比較しないでください。 SVNのコミットをGitのコミットと比較します。 「ディレクトリを右クリックする」のと同様に、git add(またはTortoiseGitを使用し、TortoiseSVNと同じ操作を行います)のように、そのディレクトリだけをコミットします。次に、dcommitを実行します。

+0

実際に私はgitのに慣れて、彼らが使用するSVNここに...それはかなり貧しいSVNのワークフローかもしれません。私はリモートリポジトリを制御していないので、これは当てはまりません。 –

+0

@Wayne Werner - 私のPSはよく言われていませんでしたが、私はそれを削除しました。 – manojlds

-1

git svn dcommitを実行すると、ローカルのgitリポジトリ内の各コミットは、あなたのsvnリモートとは別のコミットとしてコミットされます。このコミットを1つのコミットにしたい場合は、Is it possible to make git svn dcommit result in a single svn commit?を参照して、ProGitの書籍のRewriting HistoryのセクションとGitコミュニティの書籍のInteractive Rebasingの章を参照してください。

+0

答えに何が間違っていますか?あなたはコメントを残してくださいできますか? – yasouser

+0

さて、私はdownvoteをしませんでしたが、 'git merge --squash'の後に' git svn dcommit'のようなことをしないように頼んでいました。私の質問は、私がどのように 'single file'をコミット(または更新)できるかを尋ねることでした。どうやら、いくつかのプロジェクトを1つの 'trunk'フォルダの下に格納するのはかなり一般的なことです。リポジトリ全体をチェックアウトするのを避けるために(githubのすべてのプロジェクトを複製しようとするのと同じように)ファイル。私はそれがgit svnで可能かどうか、それを行う方法を調べようとしています。 –

+0

@ Wayne-Werner:プロジェクトごとに1つのレポを維持したいですか?はいの場合、特定のファイルやフォルダには、そのプロジェクトの内容に応じて複数の州/歴史がありますか?代わりに '.gitignore'を使い、各プロジェクトの一部ではないファイル/フォルダを追加することです。次に、プロジェクトがsvnリモートから追加/削除されると、それを変更する必要があります。 – yasouser

関連する問題