Githubと複数のコンピューターを操作する最良の方法は何ですか?
-
08-07-2019 - |
質問
私はいくつかの学校の成績評価ソフトウェアを開発しており、Githubを使用してプロジェクトをホストすることにしました。 Ubuntuボックスでコードをビルドした後、Githubにプッシュし、MacBook Proにクローンを作成しました。 MBPのコードを編集した後、Githubにプッシュバックしました。翌朝、Ubuntuボックスのレポジトリを git pull
で更新しようとすると、あらゆる種類のトラブルが発生しました。
この状況で働くための最良の方法は何ですか?私は自分のリポジトリをフォークしたくありませんし、メールやプルリクエストを自分で送信したくありません。 Githubをマスターのように扱い、そこから別のコンピューター上のすべての個人リポジトリにプッシュ/プルできないのはなぜですか?
解決
あなたの問題は、 git pull
コマンドを発行しようとしたときに、最初にリポジトリを作成したマシンが壊れたということだったと思います。
既存のgitリポジトリのクローンを作成すると(2台目のマシンであるMacBook Proで行ったように)、自動的にセットアップされ、 git pull
コマンドがリモートとリモートを自動的にマージしますローカルの変更。
ただし、最初にレポジトリを作成してからリモートリポジトリで共有する場合は、いくつかのコマンドを発行して、クローンレポジトリのように自動化する必要があります。
# GitHub gives you that instruction, you've already done that
# git remote add origin git@github.com:user_name/repo_name.git
# GitHub doesn't specify the following instructions
git config branch.master.remote origin
git config branch.master.merge refs/heads/master
これらの最後のいくつかの手順では、このリポジトリからの将来の git pull
がすべてのリモート変更を自動的にマージするようにgitを構成します。
以下は少し恥知らずな自己宣伝です。 Rubyを使用する場合は、Gitリモートブランチを使用してこれらすべての種類を処理できるRubyベースのツールを作成しました。当然のことながら、このツールは git_remote_branch と呼ばれます:-)
Rubyを使用しない場合、おそらく私のツールはインストールするのが面倒です。できることは、私のブログの古い投稿を見て、 grbでできることのほとんどが明示的に示されています。 git notesファイルを作成します:-)
他のヒント
複数のSSH公開キーを追加することもできます。