問題タブ [dcommit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - リポジトリ名にスペースが含まれているため、git-svn dcommit が失敗する
名前にスペースが含まれるリポジトリにアクセスしようgit svn dcommit
とすると、次のエラーが発生します。
git svn
はスペースを含むディレクトリをサポートしていないようです。
git - git svn dcommit:.DS_Storeでチョーク
はい、.gitignoreに.DS_Storeが含まれている必要があります。やばい、やってしまった :(
私は注意を払っていなかったので、.DS_Storeが忍び寄りました...しかし、今、何らかの理由で、dcommitを実行すると次のようになります。
なぜこれが起こっているのか、そしてどうすればそれを解決できるのか誰もが理解していますか?
git - フォルダーの名前変更後のGIT SVN dcommit
私の質問に対する同様の答えを見つけることができませんでした。
状況:
ローカルで GIT を使用 (git バージョン 1.7.3.1.msysgit.0)
リモート リポジトリは SVN (バージョンがわからない)
問題:
SVN リポジトリのクローンを作成し、フォルダーを追加し、それを git と SVN にコミットし、フォルダーの名前を変更し (git に通知せずに)、git にコミットし、SVN にコミットできなくなります。
問題の手順 (SVN リポジトリには、ルート フォルダーに main.as というファイルが 1 つあります)
- SVN リポジトリからのクローンブランチ (現在、ローカルに 1 つのファイルがあります)
- ローカルで git にコミット
git add .
します (を含む) - ファイルを含む oldFolderを作成する
- ローカルで git にコミット
git add .
します (を含む) - SVNにコミットする
- oldFolderの名前を変更-> newFolder (IDE または手動で名前を変更 - しない
git-mv
) - ローカルで git にコミット
git-add .
します (を含む) - SVN へのdcommit (SVN への変更をコミットしているのは私だけなので、SVN リベースは必要ありません)
問題: git-svn dcommit が応答します:
私が試したこと:
- stash、commit、dcommit、stash apply (同じこと: 更新が必要)
- stash、rebase、stash apply、commit、dcommit (同じこと: 更新が必要)
- stash、rebase、stash apply、commit、stash、dcommit (同じこと: 更新が必要)
半機能したものは、次のように呼び出すことでした:
しかし、これはSVNで終わりました...名前を変更するか削除したいoldFolder
のですが(この場合、履歴を失うことは気にしません)。newFolder
oldFolder
ローカルの git マスター/ブランチを反映するために SVN リポジトリが必要です...
git コマンドを使用せずにファイルの名前を変更するのはなぜですか?
私は大きなファイル構造を扱っており、古いコードのリファクタリングに使用している IDE は、複数のフォルダーとファイルの名前を変更して、上記のシナリオを引き起こしています。削除されたすべてのフォルダーを追跡して git rm を呼び出すことはできません。
git - ローカルブランチからの偶発的なdcommitを回避するにはどうすればよいですか?
時々、gitでローカルブランチを作成し、それらからdcommitしようとすると警告メッセージが表示されます。
どうすれば自分が誤って地元の支店から退去するのを防ぐことができますか?
git - コードが古くなった場合にデフォルトのgitsvndcommitを失敗させる方法はありますか?
最新のコードでリベースしていなければ、(通常の)gitでプッシュできないのが好きです。ただし、git svnでは、git svn dcommitを実行すると、自動的にリベース(つまり、git svn rebase)してから、コミットします。リベースする新しいものがある場合にエラーメッセージをスローさせる方法はありますか?
branch - `gitsvndcommit`がブランチで失敗する
私はgit-svn
しばらくの間、会社のsvnリポジトリとの通信に大きな問題を起こすことなく使用してきました。
今日、「頭痛」の部分は劇的に変化しました。
私はmaster/trunk
かなり排他的に取り組んでおり、これらの変更セットのほとんど(すべてではありません!)を既存のsvn-branchにマージする必要がありました。 svn-branch。
基本的にこれ:
これになるべきだった:
に含めるべきではないコミットと、それぞれのブランチからの必要なコミットはどこに
new-versioned-release
ありx
ますかx
。
だから私は次のことをしました:
git checkout -b versioned-release-svn remotes/versioned-release
git svn branch new-versioned-release -m "Preparing for merge of XXX"
git checkout -b new-versioned-release-svn remotes/new-versioned-release
git cherry-pick ...
毎回1
、途中で競合を解決します。
リポジトリの正しいブランチを実際にターゲットにすることを確認したかったので、実行しましgit svn dcommit --dry-run
たが、エラーや警告は発生しませんでしたが、教えてくれました…</ p>
…その後にdiff-tree
数行が続きます。
--dry-run
だから私はコミットの途中で
省略しようとしましたが…</p>
…そしてステージングされていない変更の束。
明らかなことは別として—「WTF?!?」そして、「私がしたことすべてを失うことなく、どうすればこの混乱から抜け出すことができますか?」—2つの質問があります。
- 以前に戻ったと仮定すると
git svn dcommit
、ローカルブランチのdcommitを計画された目的地に移動するにはどうすればよいですか? - 今では、これが私が望んでいたことを達成するための正しい方法ではなかったことは明らかなようです…しかし、代わりに、どのようにそれを行うべきでしたか?
エラーメッセージで見つけたものはすべて、どういうわけか私の状況に似ていましたが、これまでのところ、この他のスタックオーバーフローの質問であり、「メタデータディレクトリを吹き飛ばす」という提案された解決策は私に.git/svn
はあまり共鳴しません… </ p>
git - Git svn fetch、rebase、reset、および dcommit 関数はすべて、1 つの svn ブランチでエラーなしでハングします
やや非標準的なレイアウトを持つ大規模なプロジェクトの複製されたリポジトリがあります。私のブランチのほとんどは正常に動作しますが、そのうちの 1 つが動作しません。
git svn コマンドはハングするだけで完了せず、エラーも発生しません。
git reset などを試しましたが、何も機能しません。ブランチでフェッチ、リベース、または dcommit ができません。
これは他の誰かが見たものですか?修正するにはどうすればよいですか? Googleは何も思いつきません。
ありがとう!
git - git svn dcommit 失敗
git svn dcommit を実行すると、以下のようなエラーが報告されます。
私の操作:
ローカルで 3 つのコミット (commit34、commit35、commit36) を行います
git svn dcommit これらの 3 つのコミットを svn に
commit34,commit35をrebaseコマンドで修正
git svn dcommit 、上記のエラーを報告します。
エラーの処理方法、どうもありがとう。
git - ローカルブランチのgitsvndcommitは、ローカルマスターを再作成します
背景:
私たちのチームはsvnサーバーに接続し、特定のブランチ(svnトランクではない)で作業する必要があります。さらに、トランクを取得してそれらをマージする必要もあります。
ブランチに接続されたローカルgitリポジトリ( "svn + ssh ... project / branchs / X")をセットアップしました。
次に、トランクを新しいsvn接続( "svn + ssh ... project / trunk")として手動で追加し(svnトランクの新しいリモートターゲットを.git / configに追加しました)、ブランチの名前を次のように変更しました。 :
master(project / branchs / Xに接続)はmaster-Xに名前が変更されました
プロジェクト/トランクに接続されているブランチの名前がmaster-trunkに変更されました。
質問:
master-Xローカルブランチをgit svn dcommit
使用すると、新しい「master」ブランチが作成され、次の場合と同じ効果が得られます。
マスターブランチが再作成されないようにすることはできますか?
(作成するたびに、後で手動で削除します)。
編集:
私の.git/configは次のようになります。
最後の3行は私が追加したものです。
git - git svn dcommit はいつ使用できますか?
svn リポジトリで git を使用する方法を学びたいです。
私はこのマニュアルに従います: http://git-scm.com/book/en/Git-and-Other-Systems-Git-and-Subversion
ファイルにいくつかの変更を加えます。それらのいくつかは上演され、いくつかは上演されませんでした:
マニュアルによると、最初にステージングされた変更をローカル リポジトリにコミットします。
今、私は将来のコミットのように生きたいと思っています。
そして、ローカル コミットを上流の svn にプッシュしたい:
なぜ私はそれを行うことができないのですか?
「dcommit」はいつ使用でき、いつ使用できないのですか? この情報が明らかに不足しており、Google やman ページで詳細な説明を見つけることができませんでした。