私はこれを使って、github を使用して単純な静的 HTML ウェブサイトを作成しようとしています。「GITHUBUSERNAMEANDREPO」という名前のリポジトリをすでに作成しました。
#!/bin/bash
git config --global user.name "GITHUBUSERNAMEANDREPO"
git config --global user.email "[email protected]"
mkdir GITHUBUSERNAMEANDREPO
cd GITHUBUSERNAMEANDREPO
echo thisisatest > index.html
git init
git add .
git commit -m "upgrade"
git remote add mainsite "https://[email protected]/GITHUBUSERNAMEANDREPO.github.io.git"
git remote -v
git push mainsite master
このスクリプトを実行すると、RHEL 6.6 デスクトップで OpenSSH 秘密キーのパスワードのポップアップが表示されます。
質問: SSH を使用せずに HTTPS 経由で github を使用できますか? 何が足りないのでしょうか。リモート コントローラーが間違っているのでしょうか?
答え1
プロジェクトのフロントページの右下のパネルを見て、正しいhttps URLを確認できます。HTTPS クローン URL必要なリンクを取得できます。私の場合は、次のようなものが生成されますhttps://github.com/COMPANYORUSER/REPONAME.git
。
クリックするとパスワードリンクをクリックして、URL を SSH クローン リンクに変更します。
しかし、スクリプトがローカルマシンに空のリポジトリを作成し、コミットしてからリモートをリポジトリに追加していることに気付きました。githubが提供するクローンリンクを使用してリモート全体を直接クローンすることで、スクリプトを簡素化できます。この方法では、スクリプトが少しシンプルになります。
git clone HTTPS_CLONE_LINK_FROM_GITHUB
cd REPONAME
echo thisisatest > index.html
git add .
git commit -m "upgrade"
git push origin master
最初の行と同様に、電子メール アドレスと名前を設定する必要がありますが、何らかの理由でリポジトリごとに異なるユーザーを設定する場合を除き、マシンごとに 1 回だけ設定する必要があります。この場合、それぞれを設定する必要がありますが、 を省略して、--global
現在のリポジトリに対してローカルにします。
詳細はこちら
答え2
SSH 経由で実行します (ただし、最初に公開キーを github にアップロードします)。
リモート URL を次のように設定します。
git@github...