[解決済み] ローカルに変更があるにもかかわらず、git push が "everything up-to-date" と表示する。
質問
私はリモートの gitosis サーバーとローカルの git リポジトリを持っていて、自分のコードに大きな変更を加えるたびに、その変更もそのサーバーにプッシュすることにしています。
しかし今日、ローカルで変更を加え、ローカルリポジトリにコミットしても
git push origin master
と表示され、「すべて最新です」と表示されます。
git clone
を使用してリモートサーバー上のファイルをチェックアウトすると、最新の変更が含まれていません。そして、私は "master" という名前の一つのブランチと "origin" という名前の一つのリモートサーバーだけを持っています。
PS:
を実行したときのgitの表示はこんな感じです。
ls-remote
しかし、それが役に立つかどうかはわかりません。
$ git ls-remote origin
df80d0c64b8e2c160d3d9b106b30aee9540b6ece HEAD
df80d0c64b8e2c160d3d9b106b30aee9540b6ece refs/heads/master
$ git ls-remote .
49c2cb46b9e798247898afdb079e76e40c9f77ea HEAD
df80d0c64b8e2c160d3d9b106b30aee9540b6ece refs/heads/master
df80d0c64b8e2c160d3d9b106b30aee9540b6ece refs/remotes/origin/master
3a04c3ea9b81252b0626b760f0a7766b81652c0c refs/tags/stage3
解決方法は?
を使用していますか? 分離型ヘッド もしかして
というように。
は、最新のコミットがブランチヘッドでないことを示します。
警告
: 以下では
git reset --hard
: 必ず
git stash
は、現在変更したファイルを保存する場合に最初に入力します。
$ git log -1
# note the SHA-1 of latest commit
$ git checkout master
# reset your branch head to your previously detached commit
$ git reset --hard <commit-id>
で述べたように
git checkout
マンページ
(強調)。
というのが便利なことがあります。
ブランチの先端にないコミットをチェックアウトする
.
最もわかりやすい例は、次のようにタグ付けされた公式リリース地点のコミットをチェックアウトすることです。
$ git checkout v2.6.18
以前のバージョンの git ではこのようなことはできず、一時的なブランチを作成するには
-b
オプションがありますが、バージョン1.5.0からは をデタッチするコマンドです。HEAD
というタグで指定されたコミットを直接指定します。 (v2.6.18
を使用します(上の例では)この状態では、すべてのgitコマンドを使用することができます。
を使用することができます。git reset --hard $othercommit
をさらに移動させるなど。
デタッチした HEAD の上に変更を加えて新しいコミットを作成することができます。 .
を使用してマージを作成することもできます。git merge $othercommit
.HEADが切り離されている間の状態は、どのブランチにも記録されません(これは当然のことです---あなたはどのブランチにもいません)。
これは何を意味するかというと 既存のブランチに戻ることで、一時的なコミットやマージを破棄することができます。 (例git checkout master
を使用し、後でgit prune
またはgit gc
がゴミとして回収してしまう。
間違えてやってしまった場合は、reflogにHEADの場所を聞くことができます、例えば。
$ git log -g -2 HEAD
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] Git でブランチからコミットを削除する
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み] Git を使ってタグをリモートリポジトリにプッシュするには?
-
[解決済み] Git フェッチ リモートブランチ
-
[解決済み] Gitで落としたスタッシュを復元する方法とは?
-
[解決済み] リモートにないトラッキングブランチを削除
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み】ローカルの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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] masterブランチと'origin/master'が分岐している、'undiverge'ブランチの方法は?
-
[解決済み】Git:コミットに何も追加されていないが、未追跡のファイルが存在する
-
[解決済み】GitHubのメッセージの意味: メールのプライバシー制限のためプッシュが拒否されました。
-
[解決済み】git-mergeの-dry-runオプションはありますか?
-
[解決済み】ローカルに変更があるにもかかわらず、git pushが「すべて最新」と言う
-
[解決済み] ブラウンアウトの一環として、パスワード認証が一時的に無効になっています。代わりに個人用アクセストークンを使用してください[重複]。
-
[解決済み] "fatal: This operation must be run in work tree." というメッセージが表示されるのはなぜですか?
-
[解決済み] git reset」と「git checkout」の違いは何ですか?
-
[解決済み] Git リポジトリがデタッチド HEAD 状態になったのはなぜですか?
-
[解決済み] git push に失敗しました。RPC に失敗しました; result=22, HTTP code = 411