2017-12-24 76 views
-1

私はローカル開発のために亀のSVNとIntelliJ IDEAを使用します。ソースコードはSVNリポジトリにあります。私が欲しいもの
は、私は歴史とその基本的な利点を持つローカル作業できることをローカルhsitoryのようなものです:コミット ローカル、リビジョンをマージし、前後に歴史の中で/戻し、履歴を確認 - >最後のSVNはローカル履歴を取得するSVN

をコミット

多くのオーバーヘッドなしにこれをアーカイブするためのツールですか?&ものを台無しにする危険性があります。 ローカルSVNリポジトリとローカル作業の間の "DMZ"としてローカルsvn作業コピーを使うのが好きかもしれません。

これを行う方法はありますか?必要とされる基本的なステップについて簡単に説明します。
2)変更何か
3)ローカルコミット

1)
4)チャン何か
5)ローカルコミット "作業コピーのsvn" アウトフォームを "チェック"
6)チャン何か
7)地元のローカル
10ローカル歴史の中でポイントを得る)
8)眉地域の歴史
9をコミット)、変更何か
11)が
012をコミット12)sqash hisroty部品
13)「SVNの作業コピー」にコミットして、変更
14を合併)あなたが記述している何のsvnサーバ

答えて

1

IntelliJ IDEAを使用しているので、という素晴らしい機能を使用するオプションもあります。
メニューVCS -> Local History -> Show Local Historyで見つけることができます。
リビジョンの簡単なリストと差分を表示します。
特定のリビジョンに戻すことも、そこにのみピクチャの変更フォームを戻すこともできます。また、地元の歴史の中で改訂にラベルを付ける機会もあります。後でそれらをよりよく見つけるために。
ただし、ローカルヒストリーは実際のバージョン管理システムではありません(クラッシュ時に壊れたり、ブランチがなくなったりする可能性があります)!
デフォルトでは、5営業日分のファイルを追跡します。 (これはIDEAレジストリまたはVM引数(-DlocalHistory.daysToKeep=30)で設定できます)
これは便利で便利な機能だとわかりました。


のgit-svnのを使用することでしょうしようとする別のオプション。それはより強力ですが、より複雑です。例: これを設定するには - ローカルクローンを取得する(これにはかなりの時間がかかる)、svnのものと同じようにgit ignoresを設定する。

あなたはコマンドを使用して、ローカルマシン上のgitで通常のように動作しますその時点で
git-svn clone -s http://example.com/subversion/repo local/working/with/git-svn/directory 
git-svn show-ignore > .gitignore 

...

git checkout -b <feature branch> 
git add . 
git checkout <file name> 
git reset HEAD <file name> 
git commit -a 
git checkout master 
git merge <feature branch> 

インデックスに変更されたファイルを追加し、新しい機能ブランチの作業を作成するには、好きな場合は休み、コミットして、マスターブランチに戻ってマスターに変更をマージします。 SVNの変更をダウンロードし、それをローカルの変更を適用し、SVNにコミット中央のsvnにようやく

git -svn rebase 
git -svn dcommit 

を変更をコミットする

-1

にコミットGitまたはMercurialのような分散型バージョン管理システムのためのより良いフィット感です。

Subversionを使いたい場合は、コードベースのローカルSVNリポジトリを設定できます(TortoiseSVNを使用して「ここでリポジトリを作成する」)。次に、ローカルからリモートに定期的にsvn mergeを実行します。

+0

ローカルリポジトリでリモートのデータ形式を取得するにはどうすればよいですか? –

関連する問題