[解決済み】Gitで日付ごとにチェックアウトする方法は?
2022-03-25 04:30:50
質問
ソースコードに回帰する作業をしています。 Gitに次のように伝えたいと思います: "パラメータ化された日付/時刻に基づいてソースをチェックアウトする"。これは可能ですか?
また、現在のビューにステージングされた変更があり、それを失いたくありません。 理想的には、現在のソースと、以前の日付に基づく興味のあるバージョンとの間で切り替わるようにしたいです。
どのように解決するのですか?
現在の変更点を維持するために
コミットすることなく、自分の作業を隠しておくことができます。
git stash
. あなたは
を使用します。
git stash pop
を使えば元に戻せます。あるいは、(このように
カレト
と言った)
git commit
を別のブランチに移動してください。
rev-parseを使った日付ごとのチェックアウト
を使用すると、特定の日付でコミットをチェックアウトすることができます。
rev-parse
このように
git checkout 'master@{1979-02-26 18:30:00}'
利用可能なオプションの詳細については
git-rev-parse
.
コメントにあるように、この方法は履歴の中からコミットを見つけるために reflog を使用します。デフォルトでは、これらのエントリは 90日後に失効 . reflogを使用するための構文はそれほど冗長ではありませんが、90日間しか遡ることができません。
rev-listを使用した日付別チェックアウト
もう一つの方法は、reflogを使用しないものです。
rev-list
で特定の時点のコミットを取得します。
git checkout `git rev-list -n 1 --first-parent --before="2009-07-27 13:37" master`
注意 --最初の親 は、マージによってもたらされたバージョンではなく、自分の履歴のみが必要な場合です。通常、これが必要です。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] ステージングされた変更を表示するにはどうしたらいいですか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Git サブモジュール head 'reference is not a tree' エラー
-
[解決済み】GitHubで空のブランチを作成する
-
[解決済み】git push >> fatal: 設定されたプッシュ先がありません。
-
Gitのプッシュでエラーが発生! [リモート拒否] master -> master (pre-receive hook declined) error: failed to push some refs to .......
-
[解決済み] GitHubに空のブランチを作成する
-
[解決済み] VSTS Git Fetch Failed with exit code: 128
-
[解決済み] 現在の支店にはトラッキング情報がありません
-
[解決済み] git initを2回実行すると、リポジトリが初期化されますか?それとも既存のリポジトリを再初期化しますか?
-
[解決済み] Git作者不明
-
[解決済み】シェルプログラミングにおける$(command)と`command`の違いは?