問題タブ [git-fast-import]
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 標準に準拠していません: refs/heads/master
このエラーは、powershell スクリプトの出力を git fast import にパイプする際に発生しました。詳細なエラー レポートは次のとおりです。
D:\demo_history7 [master +4 ~0 -0 !]> .\testscript.ps1 -CSVFileName Report_Recent.csv |git fast-import fatal: ブランチ名が GIT 標準に準拠していません: refs/heads/master fast-import : クラッシュ レポートを .git/fast_import_crash_5968 にダンプしています
では、このエラーの原因は何ですか?どうすれば解決できますか?
Git 高速インポートは、powershell スクリプトの出力を認識しません。これが、エラーを表示する itz の理由です: ブランチ名は git 標準に準拠していません: refs/heads/master. このスクリプトの出力を git fast-import にパイプして、git リモート リポジトリにあるそれぞれのファイルの履歴を表示しようとしていますが、上記のエラーが発生します (問題で述べたように)。私の powershell スクリプトは、以下回答。解決策を提供してください。
これは私のpowershellスクリプトです:
csv ファイルを走査するためのスクリプト
このスクリプトの出力を git fast-import にパイプして、それぞれのファイルの履歴を git リモート リポジトリに表示しようとしていますが、上記のエラーが発生します (問題で述べたように)。解決策を提供してください。
git - BLOB のない Git クローン ベア リポジトリ
私の git リポジトリでは、ブランチ名とタグに基づいて、すべてのコミットに 1 つ以上の一意のバージョン番号を割り当てるアルゴリズムを使用しています。ファイルを転送せずに複製したい別の大規模なリポジトリでこのメカニズムを使用したいと考えています。
ベア クローンは、BLOB の作業コピーを取り除くのに役立ちますが、それでもサーバーから BLOB をダウンロードします。シャロー クローン--depth 1
はほとんどの BLOB をスキップしますが、1 つを除くすべてのコミットのメタデータのダウンロードもスキップします。
git fast-export --no-data
最初にサーバーからリポジトリを複製せずに、クライアント側でコミットメタデータとファイル名を含むグラフ情報を取得するために使用できるようなものはありますか? 理想的には、他の (むき出しの浅い) レポジトリと同じように、 経由でメタデータにアクセスできますgit log|show|rev-parse|show-ref
。
(git LFS と git Annex が存在し、いくつかのリポジトリのサイズを縮小するのに役立つことは知っていますが、変更せずに既存のリポジトリでそれらを使用することはできません。)
linux - 2 git fast-exports によって生成されたファイルの差分をパッチ適用可能なファイルにする方法
私は2つのリポジトリ、repo1とrepo2をそれぞれ1つのブランチで持っているので、リポジトリを次のようにグラフ化できます:
レポ1:A --- B --- C
レポ2:A --- B --- C --- D --- E --- F
ここからgit fast-export --all > export1
、repo1 とgit fast-export --all > export2
repo2 で実行して、"export1" と "export2" という 2 つのテキスト ファイルを作成します。
git diff export1 export2 > diffs.patch
次に、 から差分を取得するために実行しgit fast-export
、理論的にはコミットに関する情報のみを含むD --- E --- F
.
diffs.patch を変更する方法と、次のような分離された repo3 にパッチを適用できるようにするために使用するコマンドは次のとおりです。
レポ3:A --- B --- C --- G
パッチ ファイルが変更され、電子メールで送信され、適用されると、次のようになります。
repo3-patched: A --- B --- C --- G --- D --- E --- F
.
これは、(git bundle
バイナリファイルを使用できない)およびgit format-patch
(タグとブランチにもパッチを適用したいのですが、私の知る限りでgit format-patch
は実行できません)を使用せずに行う必要があります。
cvs2git - cvs2git は、移行中にいくつかのコミットが欠落していました
cvs2git (Python 2.7.5) を使用して CVS から Git に移行する際に、いくつかのコミットが欠落しています。欠落しているコミット メッセージは、dum.dat ファイルに存在しますが、git にはインポートされません。
CVS から Git への移行中に cvs2git のコミットが失われるのはなぜですか?