既存のソースコードをGitHubにインポートする


609

コンピューターからGitHubアカウントにソースコードをインポートするにはどうすればよいですか?


4
GitHub GUIを使用して、ワークスペースのルートを構成し、[ハードドライバーのリポジトリを検索]ボタンをクリックすると、ワークスペース内のすべてのGitローカルリポジトリが識別され、それらを個別にインポートできます。簡単です。
djangofan

1
@djangofanどのgithub GUIを参照していますか?GUIへのリンクはありますか?
アンダーソングリーン


ピートの答えはOS Xでうまくいきました-GUIを使う必要はありません。
funroll 2013

回答:


969

最初にリモートを「クローン」せずに新しいリモートの新しいgitリポジトリに追加するローカルソースコードがある場合は、次の操作を行います(私はこれをよく行います-bitbucket / githubにリモートの空のリポジトリを作成してからプッシュしますあなたのソース)

  1. リモートリポジトリを作成し、そのようにURLを取得しますgit@github.com:/youruser/somename.gitか、https://github.com/youruser/somename.git

    ローカルGITリポジトリがすでにセットアップされている場合は、ステップ2と3をスキップします


  2. ローカルでは、ソースのルートディレクトリで、 git init

    2a。.gitignoreとREADME.mdを使用してリポジトリを初期化する場合は、a git pull {url from step 1}を実行して、無視したいソースにファイルをコミットしないようにする必要があります;)

  3. ローカルで、最初のリポジトリに必要なものを追加してコミットします(すべての場合、git add .次に git commit -m 'initial commit comment'


  4. リモートリポジトリに「origin」という名前を付けます(クローン作成と同様)
    git remote add origin [URL From Step 1]

  5. 実行git pull origin masterしてリモートブランチをプルし、それらが同期するようにします。
  6. マスターブランチをプッシュアップします(マスターを別のブランチに変更します):
    git push origin master

92
私のために働いた。git pull origin mastergit pushの前に実行する必要があることがわかりました。それがないと、プッシュの試行中に「現在のブランチの先端が遅れているため」エラーが発生しました。たぶんこれは、Readme.mdを開始してリモートリポジトリを作成したためです。
yuvilio

5
SSHプロトコルのリポジトリURLを取得して、パスワードを入力する代わりにssh秘密鍵を使用してコミットできるようにします。
Snicolas 2012

5
@yuvilioがまさにその理由です。readme.mdを使用してgithubリポジトリを作成すると、実際には、オリジンを作成しようとしている処理の背後にいます。

7
@Snicolasが言ったように、SSHを使用する場合は、git://github.com/youruser/somename.gitではなくgit@github.com:youruser / somename.gitを使用してください。
tsusanka

5
GitHubは、新しいリポジトリを作成した直後に同じ手順を説明します。@yuvilioですでに述べたように、READMEを使用してリポジトリを初期化しないでください。代わりに、touch README.md既存のローカルリポジトリを使用してください
Simone

41

これは、優れた無料のeBook ProGitで説明されています。ローカルGitリポジトリとリモートGitリポジトリがすでにあることを前提としています。それらを接続するには、以下を使用します。

$ git remote
origin
$ git remote add pb git://github.com/paulboone/ticgit.git
$ git remote -v
origin    git://github.com/schacon/ticgit.git
pb    git://github.com/paulboone/ticgit.git

ローカルリポジトリからGitHubにデータをプッシュするには、次のコマンドを使用します。

$ git push pb master

ローカルリポジトリやリモートリポジトリをまだセットアップしていない場合は、GitHubのヘルプと、本の前の章を確認してください。


21

コメントの1つはGitHub GUIを使用して言及しましたが、使用に関する具体的なヘルプはありませんでした。また、すべてではないにしてもほとんどの回答がコマンドプロンプトでのみ役立つことに気付きました。

GitHub GUIを使用する場合は、次の手順に従います。

  1. [+]ボタンをクリックして、[ローカルリポジトリの追加]を選択します ここに画像の説明を入力してください
  2. 既存のコードがあるディレクトリに移動し、[追加]ボタンをクリックします。
  3. 「ここで新しいローカルGitリポジトリを作成する」ように求められるので、「はい」ボタンをクリックします。 ここに画像の説明を入力してください
  4. 必要に応じて、「コミットの概要」と「詳細な説明」を追加します。デフォルトでは、すべてのファイルにチェックマークが付いているはずです。「コミットして同期」ボタンをクリックします。 ここに画像の説明を入力してください
  5. ここで、プロジェクトの名前と説明、およびプロジェクトをプッシュするアカウント(複数ある場合)を追加するように求められます。「リポジトリのプッシュ」ボタンをクリックします ここに画像の説明を入力してください

回転するGitHubアイコンが表示された後、ソースコードはローカルリポジトリに属し、GitHubアカウントのリモートリポジトリにプッシュ/同期されます。これはすべて、以前にGitHub GUI、GitHubアカウント、およびSSHキーを設定したことを前提としています。


@cfontこれにより、ローカルリポジトリに既に存在する長い履歴が保持されますか、それとも1つの巨大なコミットが作成され、すべての履歴が失われましたか?
theJollySin 2016

1
@theJollySin、すみません、stackoverflow通知を適切に機能させるために作業する必要があります。これにより、既存のローカルリポジトリの履歴が保持されます。TBH、私は当時それをテストしませんでしたが、それがあなたの地元の歴史を押しつぶす理由を考えることはできません。実際には、実際にコミットを押しつぶしたくない場合を除いて、それを維持することが重要です。
cfont 2016年

12

JBがかなり正しく指摘しているように、GitHubでは、指示に従うだけで信じられないほど簡単になります。

ログイン時にhttp://github.com/newを使用してGitHubに新しいリポジトリを設定した後に表示される手順の例を次に示します。

Global setup:

 Set up Git:
  git config --global user.name "Name"
  git config --global user.email email@gmail.com


Next steps:

  mkdir audioscripts
  cd audioscripts
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:ktec/audioscripts.git
  git push -u origin master


Existing Git repository?

  cd existing_git_repo
  git remote add origin git@github.com:ktec/audioscripts.git
  git push -u origin master


Importing a Subversion repository?

  Check out the guide for step-by-step instructions.

それは簡単なことではありません!!



8

ピートのステップを実行しようとすると、マージに少し問題がありました。これらは私が結局終わったステップです。

  1. OSを使用して.git、コミットするプロジェクトフォルダー内のフォルダーを削除します。これにより、使用できる白紙の状態になります。これは.gitignore、プロジェクトフォルダー内にファイルを作成する良い機会でもあります。これは.gitignore、github.comでリポジトリを作成したときに作成されたもののコピーにすることができます。このコピーを行うと、github.comリポジトリを更新するときに削除されなくなります。

  2. Git Bashを開き、フォルダーを削除したフォルダーに移動し.gitます。

  3. を実行しますgit init。これにより、現在のフォルダーにローカルリポジトリが設定されます。

  4. を実行しますgit remote add [alias] https://github.com/[gitUserName]/[RepoName].git。[エイリアス]は、何でもかまいません。[エイリアス]はローカルリポジトリに関連付けることを目的としているため、[エイリアス]にはマシン名が適切に機能します。URLはgithub.comにあり、上部に沿って、HTTP | SSH | Git読み取り専用のHTTPボタンがクリックされていることを確認します。git://URLは私のために動作しませんでした。

  5. を実行しますgit pull [alias] master。これにより、ローカルリポジトリが更新され、マージの競合が回避されます。

  6. 走る git add .

  7. 走る git commit -m 'first code commit'

  8. 走る git push [alias] master


1
-1これは単に「既存のコードをgithubにインポートする」だけではありません。リポジトリ履歴全体を削除します!
マイケルデュラント


6

Bitbucketから:

既存のリポジトリをプッシュします。コンピューターにGitリポジトリーがすでにあります。それをBitbucketにプッシュしましょう:

cd /path/to/my/repo
git remote add origin ssh://git@bitbucket.org/javacat/geo.git
git push -u origin --all   # To push up the repo for the first time

1
fyi、-uは--set-upstreamと同じです。
AnneTheAgile 2014年

4

既存のソースファイルをGitHubリポジトリに追加する簡単な方法を探してここに来ました。私は@Peteの非常に完全な答えを見て、「何ですか?!より簡単な方法があるに違いない」と思いました

5つのステップで簡単な方法を次に示します(コンソールアクションは不要です)。

本当に急いでいる場合は、ステップ3を読んでください。その他は完全を期すためだけにあります。

  1. GitHub Webサイトでリポジトリを作成します。(私はあなたをこのステップバイステップで連れて行ってあなたの知性を侮辱しません。)
  2. 新しいリポジトリをローカルに複製します。(これは、Webサイトまたはデスクトップクライアントソフトウェアを使用して行うことができます。)
  3. ハードドライブで新しくクローンされたリポジトリを見つけ、通常のディレクトリと同じようにファイルを追加します。
  4. 変更をGitHubに同期します。
  5. それでおしまい!

できた!


4

GitHubリポジトリをリモートオリジンとして追加します([]をURLに置き換えます)。

git remote add origin [git@github.com:...]

マスターブランチに切り替え、コピーしてブランチを開発します。

git checkout master
git checkout -b develop

開発ブランチをGitHub開発ブランチにプッシュします(-fつまり、強制)。

git push -f origin develop:develop

3

実際、GitHubで空のリポジトリを作成することを選択した場合、(現時点では)次のような正確な指示が端末にコピーして貼り付けることができます。

…or create a new repository on the command line

echo "# ..." >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:<user>/<repo>.git
git push -u origin master

2

ここでは、GitHubリポジトリを開始し、作成済みのコードをそこにプッシュする方法について説明します。最初の一連の手順は、GitHubから直接のものです。

ソース:https : //help.github.com/articles/create-a-repo/

  1. ページの右上隅にあるをクリックし、[ 新しいリポジトリ ]をクリックします

  2. リポジトリに短くて覚えやすい名前を付けます。たとえば、「hello-world」です。

  3. 必要に応じて、リポジトリの説明を追加します。たとえば、「GitHub上の私の最初のリポジトリ」。

  4. パブリックリポジトリとプライベートリポジトリのどちらを作成するかを選択します。

  5. このリポジトリをREADMEで初期化します。

  6. リポジトリを作成します。

おめでとう!最初のリポジトリが正常に作成され、READMEファイルで初期化されました。

ここで、これらの手順の後、ローカルコンピューターのコードを作成したリポジトリーにプッシュし、以下の手順に従ってこれを実行します。

  1. git init (コードが配置されているルートフォルダー内)

  2. git add -A (これにより、ディレクトリ内のすべてのファイルとフォルダーがコミットされます)

  3. git commit -am "First Project commit"

  4. git remote add origin git@github.com:YourGithubName/your-repo-name.git (このアドレスは、メインページの「ssh clone URL」の下に作成したGitHubリポジトリにあります)

  5. git push -u origin master

それでおしまい。コードがGitHubにプッシュされます。今度は、変更したコードをプッシュし続けたいと思うたびに、実行してください。

  1. git commit -m "New changes"

  2. git push origin master (マスターが作業中のブランチである場合)


1

私のための解決策:

問題はファイルのサイズで、100Mを超えることはできません。

githubに移行する前に、リポジトリで次のようにします。

git clone --mirror git://example.com/some-big-repo.git

wget http://repo1.maven.org/maven2/com/madgag/bfg/1.12.12/bfg-1.12.12.jar

mv bfg-1.12.12.jar bfg.jar

java -jar bfg.jar --strip-blobs-bigger-than 100M some-big-repo.git

cd some-big-repo.git

git reflog expire --expire=now --all && git gc --prune=now --aggressive

git push

よし!

次に、ツールで再度移行を行います:https : //github.com/new/import

詳細: githubリポジトリ および https://rtyley.github.io/bfg-repo-cleaner/にプッシュする際のエラー

お役に立てば幸いです。:)


0

Git Hubでリポジトリを作成する

GITによるプロジェクトの追跡を許可する

  1. CMDを使用して、プロジェクトファイルが保存されているフォルダーに移動します。-> cd / automation / xyz / codebaseコマンドgit statusを使用してgitの初期化を確認します。 .git、つまり、現在のフォルダーはgitによって追跡されていません。その場合は、「git init」と入力してプロジェクトフォルダー内のgitを初期化し、プロジェクトを追加してコミットするプロセスを実行します。

別のエラーメッセージが表示された場合は、メッセージの内容をよく読んでください。「git」という単語が認識されないということで、gitがコンピュータにインストールされていませんか?あなたはすでにgitが初期化されているフォルダーまたはサブフォルダーにいると言っていますか?それを理解し、修正方法を理解するために、エラーおよび/または出力をグーグルします。

次のコマンドを実行します

echo "your git hub repository name" >> README.md git init git add README.md git commit -m "first commit" git remote add origin https://#

ブロックの上で、リポジトリを初めて開いたときに取得します

最後のコマンドを実行した後、エラーが発生するか、何も起こらない場合でも、「git push -u origin master」は心配しないでください

コードが利用可能なフォルダーに移動し、git拡張機能を介してgit [URL]にプッシュし、ブランチします

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.