問題タブ [git-rewrite-history]

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.

0 投票する
2 に答える
1479 参照

git - Git:コミットされたファイルを完全に削除するには?

git リポジトリにあってはならないファイルをコミットしてしまいました。私はそれを削除し、削除をコミットしましたが、まだ git 履歴からファイルにアクセスできます。

コミットされたファイルを完全に削除して、痕跡が残らないようにするにはどうすればよいですか?

0 投票する
2 に答える
892 参照

git - フォルダーの名前を変更した後の Git フィルタリング

私はこのような状況にあります。

git filter-branch でフォルダーを分割できるように、リポジトリを 2 つの src フォルダーにリファクタリングしていました。

src の代わりに AAA と BBB フォルダを作成しました

問題は、サブディレクトリをデタッチ (移動) して別の Git リポジトリに移動した後、履歴のないデタッチされた git コミットを取得することです。

0 | 0 <--- ここで改行 0 | 0 | 0 | 0 ...

私はこれも試しました gitリポジトリを分割してディレクトリの名前を変更する方法?

BBB と AAA を Name1 と Name2 に入れてもうまくいきませんでした..

これに関する任意のヘルプ、私はそれができることを知っています:)

0 投票する
1 に答える
11891 参照

git - git リポジトリからすべてのバイナリ ファイルを再帰的に削除し、履歴をコミットする

git コミット履歴から大きなバイナリ ファイルを削除する方法についていくつかの スレッドを読みましたが、私の問題は少し異なります したがって、ここでの私の質問は、手順を理解して確認することです--

私のgitリポジトリは~/foo. すべての *.jpg、*.png、*.mp4、*.ogv (など) をリポジトリ内のディレクトリの 1 つ、特に~/foo/public/data.

ステップ 1. ファイルを削除する

ステップ 2. バイナリ ファイル拡張子を .gitignore に追加し、.gitignore をコミットします。

ステップ 3. すべてプッシュ

私は上記の正しい軌道に乗っていますか?いわば、一度切る前に二度測りたい。

更新:まあ、上記は私にエラーを与えます

そのため、ツリーを最上位に移動してコマンドを再実行したところ、すべて機能しました。

0 投票する
2 に答える
1936 参照

git-filter-branch - すべてのブランチで git-filter-branch を作成します

cvs/bugzilla から git/Stash/Jira への変換を行っています。git filter-branchコミット メッセージの bugzilla バグ番号を jira 課題 ID で書き換えるために使用してテストしています。これは、マスターのみに影響し、ブランチには影響しないことを除いて機能します。使用-- --allしましたが、ブランチをチェックアウトしていませんでした。それは必要ですか?正確なコマンドは次のとおりです。

注 - gitBugzillatoJira.shruby​​ スクリプトは、bugzilla 番号を Jira 課題 ID に交換する作業を行います。

何か案は?

0 投票する
1 に答える
306 参照

git - Git リポジトリの縮小 - コミットではなくパケット内のオブジェクト

約 2 GB の Git リポジトリを縮小しようとしています。

ProGit ブックの第 9 章 (9.7) の「オブジェクトの削除」セクションに従っています: http://git-scm.com/book/en/Git-Internals-Maintenance-and-Data-Recovery

を実行してからandコマンドを実行すると、約 118MB のファイルが見つかりましgit gcた。私のレポにある必要はまったくありません。永遠に破壊する必要があります。git verify-packgit rev-list.tar

しかし、どのコミットがそのファイルを使用したかを調べようとすると、何も得られません:

これは、ファイルがリポジトリ履歴にないということですか? その場合、そのままにしておくことができますか、それともオブジェクトとして押し上げられますgit pushか?

もしそうなら、どうすればそれを取り除くことができますか。

0 投票する
4 に答える
1560 参照

git - git-filter-branch を使用して文字列を削除しますが、文字列には $ ' \ およびその他の文字が含まれます

以下を使用して、履歴を書き換えようとしています。

git filter-branch --tree-filter 'git ls-files -z "*.php" |xargs -0 perl -p -i -e "s#(PASSWORD1|PASSWORD2|PASSWORD3)#xXxXxXxXxXx#g"' -- --all

このチュートリアルで説明されているように。

ただし、私が持っているパスワード文字列には、上記の例の単純な「PASSWORD1」タイプの文字列ではなく、$ ' や \ など、あらゆる種類の非 AZ 文字が含まれています。

誰かが私が必要とするエスケープを説明できますか? 私はこれをどこにも見つけることができず、何時間もこれと戦ってきました.