0

自宅のデスクトップでファイルを編集し、bitbucket.org にプッシュし、テスト Web サイトにアップロードしました。次に、bitbucket.org からラップトップにプルしました。ファイルをマージする必要があると言われましたが、方法がわからなかったため、テスト Web サイトからラップトップのローカル ディレクトリにファイルをコピーし、作業を続けました。マージ プロセスを mutt-led し、gitg を使用して変更をステージングしたと思います (コミットしたかどうかはわかりません)。

ラップトップから bitbucket.org にプッシュしようとすると、問題と無知がより明らかになりました。

kurt@tosh ~/Public/laddercms $ git status

On branch NumPermit
Your branch is ahead of 'origin/NumPermit' by 2 commits.

nothing to commit (working directory clean)

kurt@tosh ~/Public/laddercms $ git push -u origin NumPermit 

Password
for 'https--kurtjensen@bitbucket.org':  To
https--kurtjensen@bitbucket.org/kurtjensen/laddercms.git  !

[rejected]        NumPermit -> NumPermit (non-fast-forward) error:
failed to push some refs to 'https--kurtjensen@bitbucket.org/kurtjensen/laddercms.git' 
hint: its remote counterpart. Merge the remote changes (e.g. 'git
pull') hint: before pushing again. hint: See the 'Note about
fast-forwards' in 'git push --help' for details.

kurt@tosh ~/Public/laddercms $ git pull origin NumPermit 

Password for
'https--kurtjensen@bitbucket.org':  From
https--bitbucket.org/kurtjensen/laddercms  * branch           

NumPermit  -> FETCH_HEAD Auto-merging profile/ajax/ProfileForm.php

CONFLICT (content): Merge conflict in profile/ajax/ProfileForm.php
Auto-merging Core/protect.php 

CONFLICT (content): Merge conflict in Core/protect.php Auto-merging 
Core/class.credentials.php 

CONFLICT (content): Merge conflict in Core/class.credentials.php 
Auto-merging Core/class.access.php 

CONFLICT (content): Merge conflict in Core/class.access.php Automatic
merge failed; fix conflicts and then commit the result.

私のローカル ラップトップ ファイルは、私が保持したいものです (私はそれらが正しいと最も信頼しています)。

今gitkで私が見る:

作成者: コミッター: 親: 9d2cd77d4250bbf71e367021acf65e2c2465d0df (私が知る限り、新しい Protect.php は NLIKey でも機能しています)

Local changes checked in to index but not committed

(デスクトップ、ラップトップ、ビットバケット) の世界をこの「コミット/チェックイン」ポイントに復元するにはどうすればよいですか?

前もって感謝します...

引用:「メッセは私の専門です。」

4

1 に答える 1

1

次回の手間を省くための情報:

ファイルをマージする必要があると言われましたが、方法がわからなかったため、テスト Web サイトからラップトップのローカル ディレクトリにファイルをコピーし、作業を続けました。

デスクトップから bitbucket にプッシュするときは、ラップトップで次のことを行う必要があります。

git fetch origin
git checkout master
git merge origin/master

fetch はリモート ブランチの最近の変更をすべて取得し、checkout はマージ先のローカル ブランチ (この場合は master) に配置し、merge コマンドは origin/master にあるものをローカル ブランチの master にマージするよう指示します。 . これは非常に基本的なワークフローであり、同じプロジェクトに取り組んでいる 2 人のメンバーがこれに従います。

とにかく、履歴を保存せずにすばやく汚い方法で回復するには、単にフォルダーを削除してから、ルートフォルダーで.git実行し、+ . 回復するためのよりスマートな方法については、git のステータスに関する詳細情報を提供し、投稿を少しクリーンアップする必要があります。git initgit remote add <alias> <url>git add .git push alias master -f

于 2013-05-22T21:11:38.800 に答える