github
私は(「ProjectX」と言って)プライベートリポジトリを持っています。プロジェクトの要件が途中で変更されたため、コードを書き直す必要がありました。「ProjectX」ですでに行われた進行状況を失いたくなかったので、次のことを行いました。
- ローカル リポジトリで "ProjectX" を "ProjectX_advanced" に名前変更しました。
- リモートオリジンの名前を次のように変更しました。
git remote rm origin
また、GitHub のプロジェクトの名前を変更しました。
git remote add origin git@github-user:user/ProjectX_advanced.git
これは成功しました。ターミナルで実行git remote -v
すると、次のようになりました。
origin git@github-user:user/ProjectX_advanced.git (fetch)
origin git@github-user:user/ProjectX_advanced.git (push)
上記のリポジトリに変更をプッシュすることもできます。
3. github に「ProjectX」という名前の新しいレポを作成しました。
4. ローカル リポジトリに「ProjectX」という新しいプロジェクトを作成しました。
5. 次のように git を初期化しました:
6. 次のように新しいリモート オリジンを追加しました:コマンド ラインでこれを
行うと、正しいリモート ロケーションが取得されます。
7. ローカル リポジトリの変更を github リポジトリにプッシュしようとすると、次
のエラー メッセージが表示 されて問題が発生します。
git init
git add .
git commit -m "First commit" .
git remote add origin git@github-user:user/ProjectX.git
git remote -v
git push origin master
To git@github-user:user/ProjectX.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github-user:user/ProjectX.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
以前のいくつかの質問をこことここgit pull
で見ました。また、これらの変更をプッシュする前にマージを実行する必要があることを示す他の質問もいくつか見ました。
私の質問:
1. を実行するgit pull
と、新しい "ProjectX" が不要なコードによって上書きされます。どうすれば回避できますか?
2. すべてのリモコンの名前を変更しました (からの出力git remote -v
は期待どおりです)。リモコンの名前を変更し忘れたことがありますか?
3. これを解決するにはどうすればよいですか?