問題タブ [git-checkout]
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: 代替ブランチをチェックアウトするときに、無視されたファイルをクリアしたい
マスターに構造があるとします。
ファイル xyz は追跡されるべきではないので、.gitignore target/* に追加し、構造をコミットします
- git commit -m '初期構造'
2つのブランチを作成します
- git ブランチ t1
- git ブランチ t2
そしてt1に切り替えます
- git チェックアウト t1
私はいくつかの作業を開始し、ターゲットが設定されるようにコンパイルします。変更を t1 にコミットします。
- git commit -a 't1 固有の変更'
次に、t2に切り替えます
- git チェックアウト t2
ターゲットを調べたところ、ブランチ t1 がアクティブだったときに作成されたファイルがまだ読み込まれていますが、これらを「クリア」したいと考えています。
git は私が見ているものとは異なる動作をするべきであるという同様の議論を見つけました。ブランチを切り替えると、Git が無視されたファイルを削除する
何が欠けていますか?
フランシス
git - Git:プッシュされた変更を元に戻すには、元に戻すまたはチェックアウトを使用しますか?
Gitは驚異的なツールですが、プッシュされた変更を元に戻すための最善の方法については、まだ頭を悩ませていません。これが状況です。
私はブランチにいて、GitHubにいくつかのコミットをプッシュしました。それ以来、私はうさぎの穴を行き過ぎたと判断されました。私が行ったコミットのいくつかを破棄して、最初からやり直す必要があります。基本的に、プッシュされたすべてのコミットを元に戻す必要があります。これが私が適切だと思う2つのコマンドです
だから、私は正しいですか?戻りたい特定のコミットでgitcheckoutを実行する必要がありますか?それとも、この複雑なプロセスの中に、私が理解していない何かがありますか?
ありがとう。
git - リモート Git リポジトリへのプッシュの削除または取り消し
リモート git リポジトリを作成し、間違ったローカル リポジトリからコードをプッシュしてしまいました。
ローカル リポジトリは問題ありません。リモートにプッシュしたコンテンツを削除して、最初からやり直したいだけです。
試しgit push origin :master
ましたが、エラーが発生しました:
簡単にチェックインする方法はありますか?'check in' または 'checking in' (およびその他のバリエーション) は、関連する結果を生成しません。
git - git fetch での奇妙な動作
GIT fetch で大きな問題が発生しています...これを見てください
そして別git fetch
:
そしてもう一つ…
そして別git fetch
:
私のrefs/remotes/origin/HEAD
そしてrefs/remotes/origin/master
常に強制的に更新する422b4cb
...
どうしたの?422b4cb
... 古いコミットです。
git - Gitがプッシュ&ポップ?つまり、最後の状態をチェックアウトします
Bashスクリプトを書いていますが、タグをチェックアウトしてから、開始した場所にチェックアウトしたいと思います。
試しgit co HEAD@{1}
ましたが、マスターから始めると、マスターのコミットSHAに戻りますが、ヘッドが切り離されています。
pushd
&popd
for Gitのようなものはありますか?
git - 次のシナリオで変更を取得するにはどうすればよいですか?
gitの仕組みを理解しようとしています。そこで、空のレポを初期化し、次のようにファイルを追加しました。
次の一連のコマンドを使用して、このレポを複製しました
その後、READMEファイルに変更を加え、コミットし、次のコマンドを使用して最初のレポにプッシュしました
両方のリポジトリでgit logを実行すると、同じことが表示されます。
commit cdf192f7e26e734c7a56cc830ade2e2d13c6fb0d 作成者: Adnan Waheed 日付:
Tue Mar 1 14:05:12 2011 +0500commit f8b75838e728e46cae949f66ff86d29c0864d976 作成者: Adnan Waheed 日付:
Tue Mar 1 14:03:23 2011 +0500
しかし、元のレポ、つまり/home/adnan/workspace/git-testの変更を取得する方法がわかりません。git checkoutを実行しようとすると、次のメッセージが表示されます。
複製されたリポジトリで行ってプッシュした変更を取得するにはどうすればよいですか?
git - ブランチを切り替える git コマンドが「git checkout」と呼ばれるのはなぜですか?
ブランチを切り替える git コマンドの名前はなぜgit checkout
ですか?
それは本当に意味がありますか?
代わりに名前を付けgit switch
ます。さらに、git checkout
他の意味もあります: 例: ファイルを元に戻す (のようにsvn revert
)
git - チェックアウト後にアップコミットされた変更をフェッチする
新しいブランチをチェックアウトしたときに残したコミットされていない変更を取得する方法はありますか (ばかげています、知っています!!)
ブランチを元に戻しましたが、まだ次のメッセージが表示されているため、どこかに到達できる可能性があると思います!
git - git チェックアウトの新しいブランチ
git checkout $HASH
古いバージョンのディレクトリで行ったことを探すために、古いコミットに切り替えました。今、最新のコミットに戻りたいのですが、そのためのハッシュがもう見つかりませんか? 私が実行するgit log
と、現在のコミットからの古いコミットが表示されます。最新のコミットに再度切り替えるにはどうすればよいですか?
git - 以前のリビジョンのチェックアウトされたディレクトリのサブディレクトリがGitで消えない?
git checkout <hash> <directory>
リポジトリ内のディレクトリの以前のリビジョンをチェックアウトするために使用しようとしています。これは、ディレクトリ内のファイルを以前の状態に復元するために機能します。唯一の問題は、チェックアウトしたリビジョン以降に追加されたサブディレクトリが消えないことです。
たとえば、私のディレクトリ構造が次の場合:
そうするとgit checkout <hash>
、切り離されたHEADモードになり、すべてが正常に一致します。代わりに私がそうするgit checkout <hash> thing/
と、の内容thing/dir1/
は元に戻りますが、そのthing/dir2/
ままになります。
実行するとgit status
、からのファイル変更が表示されますthing/dir1/
が、は言及されていませんthing/dir2/
。これは奇妙なことです。なぜなら、HEAD ^のコンテキストでは、thing/dir2/
存在すべきではなく、したがって消滅するはずだからです。 git clean
追跡されていないものとして表示されないため、役に立ちません。
作業ツリー全体をチェックアウトすることなく、完全に一致するディレクトリの以前のリビジョンをチェックアウトする方法はありますか?
アップデート:
これが機能するように見えます:
これにより、作業ツリーとインデックスが奇妙な状態になりますが、目的の効果が得られます。