既存のプロジェクトをGithubにプッシュする


224

プロジェクトソースを含むフォルダがあります。このプロジェクトをGithubのリポジトリにプッシュするにはどうすればよいですか?

私はこの手順を試してみました:

  1. GitHubに空のリポジトリを作成しました。
  2. 私はgit-bashを実行してtypedを実行したgit initので、プロジェクトのルート.git内にフォルダーが表示されました。
  3. 私はバージョン管理にいくつかのファイルを追加しました git add sourcesFolderName
  4. 前のステップで追加したファイルを使用してコミットしました git commit -m "initial commit"
  5. 私は使用してリモートリポジトリを指定しました git remote add MyProject <url>
  6. 最後にgit push、リモートリポジトリには何もプッシュされません...(認証失敗なし)

では、既存のソースを新しく作成されたgithubリポジトリにどのようにプッシュできますか?


4
正確には何の出力でしたgit pushか?
1615903 2013年

1
@ user1615903間違った手順のシーケンスがあると確信しています。のようなものが必要だと思いますgit clone。からの出力を覚えていませんgit pushが、重要ではないと思います。別の場所で問題があるため
MyTitle 2013年

しましたgit push MyProject masterか?
Felix Kling 2013年

このブログ投稿は、このタスクを実行したい人を助けるかもしれません。すべてのステップが簡単かつ詳細に説明されています。samranga.blogspot.com/2015/07/...
Samitha Chathuranga

1
ちょっとしたアドバイスですが、SourceTreeアプリを使ってみてください。UIはとてもいいです。
Mohammad Fareed 2016年

回答:


340
git init
git add .
git commit -m "Initial commit"
git remote add origin <project url>
git push -f origin master

上の-fオプションgit pushはプッシュを強制します。使用しない場合は、次のようなエラーが表示されます。

To git@github.com:roseperrone/project.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'git@github.com:roseperrone/project.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

5
これは私の問題を修正しましたが、私は、コマンド4を行うことができませんでしたgit remote add origin <project url>と言ってcommand syntax not correct。私はそれを無視し、それは機能しました
Khalil Khalaf '25 / 06/25

4
ちなみに、GitHub Webサイトを使用する必要がない場合は、3番目のステップの後にこれを追加できcurl -u 'USER' https://api.github.com/user/repos -d '{"name":"REPO"}'ます。USERをユーザー名に、REPOを作成するリポジトリの名前に置き換えます。
MD XF

1
また、あなたはもはやそれを行うことができないと思います。それを次にgit add .変更する必要があります。これはGitHubのドキュメントは、それを行うことを言う方法ですcat "# reponamehere" >README.mdgit add README.md
MD XF

2
私は信じている-fフラグが消えリモート歴史を強制しますか?危険なオペレーターのようです。
van

112

専門用語が少ない

私の答えは同じですが、新しい情報は情報のギャップを埋めることで利益を得られる可能性があるため、情報を追加しています。

githubにリポジトリを作成すると、指示が表示されます。あなたはそれらに従うことができます。しかし、gitを使い始めるのがいらいらすることを知っているので、ここにいくつかの追加のヒントがあります。

ローカルでプロジェクトをすでに開始しているとしましょう。どれだけ持っていてもかまいません。しかし、phpプロジェクトがあるとしましょう。index.php、contact.php、および画像、CSS、フォントを含むアセットフォルダーがあるとします。この方法で(簡単に)実行できますが、多くのオプションがあります。

オプション1

githubアカウントにログインして、リポジトリを作成します。

ここに画像の説明を入力してください

次の画面で、「デスクトップのクローン」ボタン(画面右側)をクリックすると、必要な場所にコピーできます。

ここに画像の説明を入力してください

次に、(または別の方法で)既存のプロジェクトの内容を新しいリポジトリにコピーできます。githubアプリを使用すると、そこからGUIを使用してコミットすることができます(つまり、アプリケーションのボタンをクリックするだけです)。もちろん、コミットのメモを入力します。

オプション2

  • 上記のようにgithubにリポジトリを作成します。
  • コンピュータで、ターミナルを使用してディレクトリに移動します。あなたは、Linuxのコマンドラインを使用してしまうCDをディレクトリに。ここから、次のコマンドを実行して、既存のプロジェクトをgithubのリポジトリに「接続」します。(これはgithubにリポジトリを作成していて、現在は空であると想定しています)

最初にこれを実行してgit(バージョン管理)を初期化します。

git init

次に、これを実行して、「監視」するすべてのファイルを追加します。無視したいファイルがある場合は、aを追加する必要がありますが.gitignore、簡単にするために、この例を使用して学習してください。

git add .

次に、コミットして、""「最初のコミット」などの間にメモを追加します。

 git commit -m "Initial Commit"

ここで、既存のリポジトリを追加します

git remote add github <project url>

ただし<project url>、文字どおりにを入力するのではなく、独自のプロジェクトURLを入力してください。どうやってそれを手に入れますか?リポジトリがgithubにあるリンクに移動し、リンクをコピーします。私の場合、私のリポジトリの1つはhttps://github.com/JGallardo/urbanhistoricalなので、このコマンドの結果のURLはその後に.gitを追加するだけです。だからここに

git remote add github https://github.com/JGallardo/urbanhistorical.git

実行することで機能することを確認するためのテスト

git remote -v

あなたのレポが何にリンクされているかを見るはずです。

ここに画像の説明を入力してください

次に、変更をgithubにプッシュできます。

git push github master

または

git push origin master

それでもエラーが発生する場合は、で強制できます-f。ただし、チーム環境で作業している場合は、無理をしないように注意してください。そうしないと、さらに問題が発生する可能性があります。

git push -f origin master

3
あなたの説明が一番です。これを読んだ人のために:私は最初にgithubにリポジトリを作成したので、プッシュできませんでした。> github pull <project url>してからgithub pushする必要がありました。その後、すべてが順調でした。
フィロロゴン2016年

1
本当にありがとうございました!他のすべてのオプションが失敗した後、オプション1は私の命を救った!:D
サライネスカルデロン

2
素晴らしい説明!しかし、私は次の行を追加します:git remote add origin <project url>そしてgit push -f origin master。-fがないと、エラーになります
Javiar Sandra

1
最後のコマンドに-fオプションを追加してください。そうすれば、あなたの答えが最高になります
Jacobo Koenig

1
それは本当に役に立ちました!誤ってgithubリポジトリをREADMEで初期化しましたが、機能しませんでした。私は空のレポでもう一度それをやりました、そしてそれはうまくいきました。
Verena Haunschmid 2017年

36

プッシュするときに、どのブランチどのリモートを指定する必要があります。

➤ git init ./
➤ git add Readme.md
➤ git commit -m "Initial Commit"
➤ git remote add github <project url>
➤ git push github master

期待どおりに動作します。

これをデフォルトで設定するには、次のようにします。

➤ git branch -u github/master master

これによりgit push、リモートまたはブランチを指定せずにfromマスターを実行できます。


1
正しい。/master冗長なので、その部分をスキップすることもできます。
ガブリエレペトロネラ2013年

1
「git add Readme.md」が正しくありません。すでに存在する場合は、追加する必要はありません。存在しない場合、コマンドは失敗します。いずれにせよ、これは正しくありません。
ミッチ

1
@Mitchこれは、突然あなたのコンピュータにあなたが望むことをさせる秘密の魔法の呼び出しではありません。それは人々に彼らが何をすべきかについての考えを与えるための例です。私は人々が彼らのマシンに入力しているコマンドを理解することを期待しています。
ブライス

9

Macを使用している場合(おそらくこれはPCでも同じように機能します)、これを行う非常に簡単な方法を次に示します。奇妙なことに、私はこの単純なプロセスの高低を調べて、それを見つけることができませんでした。

  • Githubで何もしないでください(アカウントを持っていること、および使用可能なすべてのリポジトリを使い切っていないことを除く)。
  • Mac用のGitHubをダウンロードしてインストールします。アカウントの設定などを行ってください。既存のプロジェクトにはリポジトリを作成しないでください。
  • リポジトリの「新しいローカルリポジトリを追加」。
  • 既存のフォルダを選択します。そうするかどうか尋ねられますので、「はい」と言ってください。
  • 完了すると、すべてのファイルなどのリストが表示されます。それらをコミットします。
  • リポジトリに移動して公開します(アカウントを適切に設定すると、GitHubに新しいリポジトリが作成されます)。
  • リポジトリに移動してプッシュします(「何もプッシュしない」が表示されるか、ファイル/変更が新しく自動作成されたリポジトリにプッシュされます)。
    • この単純なプロセスが他のどこにも見つからなかったのはなぜでしょうか。

プロジェクトフォルダーをリポジトリフォルダーとして使用することはお勧めしません。私はいつもそれをします、それは常に機能し、それはそれを簡単にします、そして私はそれに問題を抱えることはありません。


GitHubアプリがユーザーにこの方法で許可する場合、私には思えますが、問題はありません。
johnnieb 2016年


5

ローズPからの以前のコメントに従います。解決策を見つけるのに長い時間がかかったので、うまくいったことを(できればプレーンな英語で)再投稿しています...

ステップ1:Github.comで新しいリポジトリを作成します(すでにある場合はスキップします)

ステップ2:XCodeを閉じる...不要

手順3:新しいターミナルウィンドウを開きます(はい、ターミナルを使用する必要があります...私は他のすべての方法を試しました...何もうまくいきませんでした)

ステップ4:コマンドcdを使用して、プロジェクト(既存または新規のリポジトリーに追加するプロジェクト)のフォルダーの場所を見つけます。

ステップ5:git initと入力 すると、次のようになります。 / {current directory}の既存のGitリポジトリを再初期化しました

ステップ6:git addと入力します。 この手順の後は何も起こりませんが、入力して次の手順に進みます。

ステップ7:git commit -m "Initial commit"と入力すると、次の結果が得られます。

または

構成に関するいくつかの説明、および変更されたファイルのリスト。

ステップ8:git remote add origin {project url}と入力します 。プロジェクトのURLはGithub.comにあります。そのHTTPSクローンURL ...をコピーしてターミナルウィンドウに貼り付けることができるはずです。送信元がすでに存在しているとシステムから通知された場合は、別の名前を作成するか、プロジェクト名を使用します(何か別のもの)

ステップ9:MacのGitHubアプリケーションに移動し、[ブランチの同期]ボタンをクリックします(保留中の変更がない場合でも)。実際にコミットするには少し時間がかかると思いますが、ローカルのリポジトリフォルダーに戻ると、新しいプロジェクトが表示されます。親フォルダを再作成する必要がありましたが、それはファイルを移動するだけの問題です。GitHub.comにアクセスしてブラウザーを更新すると、新しいファイルもそこにあるはずです。

お役に立てば幸いです。


5
Follow below gitbash commands to push the folder files on github repository :-
1.) $ git init
2.) $ git cd D:\FileFolderName
3.) $ git status
4.) If needed to switch the git branch, use this command : 
    $ git checkout -b DesiredBranch
5.) $ git add .
6.) $ git commit -m "added a new folder"
7.) $ git push -f https://github.com/username/MyTestApp.git TestBranch
    (i.e git push origin branch)

4
git init

新しいローカルリポジトリにファイルを追加します。これは最初のコミットのためにそれらをステージングします。

git add .

ローカルリポジトリにファイルを追加し、コミットのためにステージングします。ファイルのステージングを解除するには、「git reset HEAD YOUR-FILE」を使用します。

ローカルリポジトリにステージングしたファイルをコミットします。

git commit -m "First commit"
# Commits the tracked changes and prepares them to be pushed to a remote

リポジトリ。このコミットを削除してファイルを変更するには、「git reset --soft HEAD〜1」を使用してコミットし、ファイルを再度追加します。リモートリポジトリURLのコピーフィールドGitHubリポジトリの[クイックセットアップ]ページの上部で、クリックしてリモートリポジトリURLをコピーします。

コマンドプロンプトで、ローカルリポジトリがプッシュされるリモートリポジトリのURLを追加します。

git remote add origin remote repository URL
# Sets the new remote
git remote -v
# Verifies the new remote URL

ローカルリポジトリの変更をGitHubにプッシュします。

git push origin master
# Pushes the changes in your local repository up to the remote repository you 

原点として指定


4
  1. コマンドラインから、ローカルリポジトリディレクトリに移動します。
  2. GitHubに新しいリポジトリを作成すると、末尾がであるリンクが提供されます.git
  3. cmd run:(git remote add origin [your_GitHub_Repository_link]リンクはで終わる必要があることを忘れないでください.git
  4. 次に実行します: git push -u origin master

これがお役に立てば幸いです。


4

新しいリポジトリを作成する

git clone <url>
cd "repositoryName"
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

既存のフォルダ

cd existing_folder
git init
git remote add origin <url>
git add .
git commit -m "Initial commit"
git push -u origin master

既存のGitリポジトリ

cd existing_repo
git remote rename origin old-origin
git remote add origin <url>
git push -u origin --all
git push -u origin --tags

コミットとプッシュの違いは何ですか?プッシュで「起源」と「マスター」は何を指しますか?ブランチ?
eoneon

2

まず、Githubにプロジェクト名で新しいリポジトリを作成します。次に、以下の手順に従います。

1)git init
2)git add *
3)git commit -m "first commit"
4)git remote add origin https://github.com/yuvraj777/GDriveDemo.git
5)git push -u origin master

2

私は知っています、これは古い質問ですが、私はすべてのステップを説明しようとしているので、他の人を助けるかもしれません。これは私が既存のソースをgitに追加する方法です:

  1. gitでリポジトリを作成すると、sshが作成されます|| リモートでソースコードを追加するhttps。
  2. ターミナルでプロジェクトのパスに移動します。
  3. 実行しますgit init(ここではgitプロジェクトとしてプロジェクトを開始します)。
  4. 実行しますgit add *(ここで、プロジェクトからすべてのファイルとフォルダーを追加します)。
  5. 実行しますgit commit -m "Initial Commit."(ここでは、手順4で追加したファイルとフォルダーをコミットします。コミットせずに変更をプッシュすることはできないことに注意してください)。
  6. 実行しますgit remote add origin https://your_username@bitbucket.org/your_username/project-name.git(ここで、ソースがプッシュされるソースプロジェクトにリモートプロジェクトを追加します。私のリンクをステップ1のssh || httpsに置き換えます)。
  7. 実行しますgit push -u origin master(ここでソースをgitリポジトリにプッシュします)。

注:これらは、ソースをマスターブランチにプッシュするための簡単な手順です。


2

さらに別の答えを追加するのは嫌いですが、私の特定のシナリオはここでは完全にはカバーされていません。保存したい変更の履歴を持つローカルリポジトリと、Githubで空でないリポジトリ(つまり、デフォルトのREADME.md)を作成しました。はい、いつでもGithubリポジトリを空のリポジトリとして再作成できますが、私の場合、他の誰かがこの特定のリポジトリを作成する権限を持っているため、簡単な回避策があれば、私は彼を困らせたくありませんでした。

このシナリオではgit push、リモートの起点を設定した後、次のエラーが発生します。

 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'git@github.com:<my repo>.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

エラーが示すように、git pullリモートオリジンを設定した後でaを実行する必要がありましたが、--allow-unrelated-historiesオプションを指定する必要がありました。このオプションがないと、はgit pull不平を言いwarning: no common commitsます。

だからここに私のために働いたコマンドの正確なシーケンスがあります:

git remote add origin <github repo url>
cp README.md README.md-save
git pull origin master --allow-unrelated-histories
mv README.md-save README.md
git commit -a
git push

私も同じ問題を抱えていますが、あなたの手順は奇妙なテキストエディターにつながります
john ktejik

ああ、私はあなたが通常UIを使用していて、通常はコマンドラインからコミットしないと思います(何も問題はありません。SourceTreeUIを使用しています)。ポップアップしたエディターは、おそらくviエディターです。そのインターフェースはそれ自体が全体的なトピックなので、ここでは詳しく説明しません。
ジョナサンフィッシャー

2

2019年7月29日の時点で、Githubは、リポジトリが作成されたときにこのタスクを実行するための指示をユーザーに提示し、いくつかのオプションを提供します。

コマンドラインで新しいリポジトリを作成する

git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/novomotus/vitaprice.git
git push -u origin master

コマンドラインから既存のリポジトリをプッシュする

git remote add origin https://github.com/novomotus/vitaprice.git
git push -u origin master

別のリポジトリからコードをインポートする

プレスimport初期化プロセスへのボタン。

そこに視覚的な学習者のために:

ここに画像の説明を入力してください




0

「自然な」シーケンスで更新を刺激する方が、強制的にプッシュするよりも簡単なルートであることがわかりました。

リポジトリがすでにgithubに作成されていて、README.mdに何かを書き込んだとしましょう。

  1. コンピューターでターミナルを開き、 git clone [repo URL]

  2. リポジトリの名前が付いた新しいフォルダーが作成されます。自由に名前を変更してください-関係ありません。

  3. コード、ファイルなどをこのフォルダーに移動します。必要に応じて、README.mdを編集します。

  4. ターミナル/コマンドプロンプトを開き、そのフォルダー内に移動して、リポジトリに次の更新を行うかのように操作します。

git add .
git commit -m "v2"
git push origin master

注:commitコマンドでgitは拒否し、最初にユーザーの電子メールとパスワードを設定するように求めます。画面に表示される手順に従い、もう一度commitコマンドを実行します。

  1. そして、これらの3つのコマンドは、別の更新をプッシュしたいときに毎回行うことです。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.