【问题标题】:Import existing source code to GitHub将现有源代码导入 GitHub
【发布时间】:2011-06-07 05:08:18
【问题描述】:

如何将源代码从我的计算机导入到我的 GitHub 帐户?

【问题讨论】:

  • 我发现最简单的方法是使用 GitHub GUI,然后将配置指向工作空间的根目录,然后单击“在硬盘驱动器上查找存储库”按钮,它会识别您的所有 Git 本地存储库工作区并允许单独导入它们。容易。
  • @djangofan 你指的是哪个 github GUI?你有 GUI 的链接吗?
  • Pete 的回答在 OS X 上效果很好——无需使用 GUI。

标签: git github


【解决方案1】:

如果您有本地源代码想要添加到新的远程新 git 存储库而不首先“克隆”远程,请执行以下操作(我经常这样做 - 您在 bitbucket/github 中创建远程空存储库,然后推上你的来源)

  1. 创建远程仓库,获取git@github.com:/youruser/somename.git或https://github.com/youruser/somename.git等URL

    如果您的本地 GIT 存储库已设置,请跳过第 2 步和第 3 步


  2. 在本地,在源代码的根目录git init

    2a。如果您使用 .gitignore 和 README.md 初始化 repo,您​​应该执行 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

【讨论】:

  • 为我工作。我发现我需要在 git push 之前运行git pull origin master。没有它,我在推送尝试期间收到“因为您当前分支的尖端落后”的错误。也许这是因为我创建了一个带有启动 Readme.md 的远程存储库。
  • 获取 SSH 协议的 repo URL,以便能够使用您的 ssh 私钥而不是输入密码来提交。
  • @yuvlio 这就是原因。如果您使用 readme.md 创建您的 github 存储库,那么实际上您现在落后于您要创建的源代码。
  • 正如@Snicolas 所说,如果您使用 SSH,请使用 git@github.com:youruser/somename.git 而不是 git://github.com/youruser/somename.git 。
  • GitHub 在您创建新存储库后立即解释了相同的过程。正如@yuvilio 已经说过的,您不应该使用自述文件初始化您的存储库。相反,在您现有的本地仓库中使用touch README.md
【解决方案2】:

这在excellent free eBook ProGit 中有解释。它假定您已经有一个本地 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 和 previous chapters in the book 上的帮助。

【讨论】:

    【解决方案3】:

    提到的其中一个 cmets 使用 GitHub GUI,但它没有提供任何关于使用的具体帮助,并且注意到大多数(如果不是全部)答案仅在命令提示符下有用。

    如果您想使用 GitHub GUI,可以按照以下步骤操作:

    1. 单击“+”按钮并选择“添加本地存储库”
    2. 使用现有代码导航到目录,然后单击“添加”按钮。
    3. 现在应该提示您“在此处创建一个新的本地 Git 存储库”,因此单击“是”按钮。
    4. 根据需要添加“提交摘要”和“扩展描述”。默认情况下,您的所有文件都应已选中并带有复选标记。单击“提交和同步”按钮。
    5. 现在将提示您添加项目的名称和描述,以及将其推送到哪个帐户(如果您有多个)。单击“推送存储库”按钮

    在 GitHub 图标旋转片刻之后,您的源代码将属于本地存储库,并与您 GitHub 帐户上的远程存储库推送/同步。所有这一切都假设您之前已经设置了 GitHub GUI、您的 GitHub 帐户和 SSH 密钥。

    【讨论】:

    • @cfont 这是否保留了我本地存储库中已经存在的长期历史,或者它只是创建了一个巨大的提交并且我已经丢失了我所有的历史?
    • @theJollySin,对不起,我想我需要努力让我的 stackoverflow 通知正常工作。这应该保留现有本地存储库的历史记录。 TBH,我当时没有对此进行测试,但我想不出它会压垮你当地历史的原因。事实上,除非你真的想压缩提交,否则重点应该是保留它。
    【解决方案4】:

    正如 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.
    

    再简单不过了!!

    【讨论】:

      【解决方案5】:

      是的。创建一个新的存储库,在源当前存在的目录中执行git init。

      更多:http://help.github.com/creating-a-repo/

      【讨论】:

        【解决方案6】:

        在尝试执行 Pete 的步骤时,我在合并时遇到了一些麻烦。这些是我最终完成的步骤。

        1. 使用您的操作系统删除您要提交的项目文件夹内的.git 文件夹。这将为您提供一个干净的工作状态。这也是在项目文件夹中创建.gitignore 文件的好时机。这可以是您在 github.com 上创建存储库时创建的 .gitignore 的副本。当您更新 github.com 存储库时,执行此复制将避免将其删除。

        2. 打开 Git Bash 并导航到您刚刚从中删除 .git 文件夹的文件夹。

        3. 运行git init。这会在您所在的文件夹中设置一个本地存储库。

        4. 运行git remote add [alias] https://github.com/[gitUserName]/[RepoName].git。 [别名] 可以是任何你想要的。 [alias] 用于绑定到本地存储库,因此机器名称适用于 [alias]。该 URL 可以在 github.com 上找到,确保单击顶部的 HTTP|SSH|Git Read-Only 之外的 HTTP 按钮。 git:// URL 对我不起作用。

        5. 运行git pull [alias] master。这将更新您的本地存储库并避免一些合并冲突。

        6. 运行git add .

        7. 运行git commit -m 'first code commit'

        8. 运行git push [alias] master

        【讨论】:

        • -1 这不仅仅是“将现有代码导入 github”。它会删除整个存储库历史记录!
        【解决方案7】:
        1. 打开您的 GitHub 仪表板(如果您已登录,则位于 https://github.com/)
        2. 点击New Repository
        3. 填空;点击创建存储库
        4. 按照随后出现的页面上的说明进行操作

        【讨论】:

          【解决方案8】:

          来自 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
          

          【讨论】:

          • fyi,-u 与 --set-upstream 相同。
          【解决方案9】:

          我来这里是为了寻找一种将现有源文件添加到 GitHub 存储库的简单方法。我看到@Pete 非常完整的答案并想“什么?!一定有更简单的方法。”

          这是五步的简单方法(无需控制台操作!)

          如果你真的很着急,你可以阅读第 3 步。其他的只是为了完整。

          1. 在 GitHub 网站上创建一个存储库。 (我不会让你一步一步来侮辱你的智慧。)
          2. 在本地克隆新存储库。 (您可以通过网站或桌面客户端软件执行此操作。)
          3. 在您的硬盘驱动器上找到新克隆的存储库,然后像添加到普通目录一样添加文件。
          4. 将更改同步回 GitHub。
          5. 就是这样!

          完成!

          【讨论】:

            【解决方案10】:

            将 GitHub 存储库添加为远程源(将 [] 替换为您的 URL):

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

            切换到你的master分支并复制到develop分支:

            git checkout master
            git checkout -b develop
            

            将你的开发分支推送到 GitHub 开发分支(-f 表示强制):

            git push -f origin develop:develop
            

            【讨论】:

              【解决方案11】:

              实际上,如果您选择在 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
              

              【讨论】:

                【解决方案12】:

                以下是有关如何启动 GitHub 存储库然后将您已创建的代码推送到其中的一些说明。第一组指令直接来自 GitHub。

                来源:https://help.github.com/articles/create-a-repo/

                1. 在任意页面的右上角,单击,然后单击新建存储库。

                2. 为您的存储库创建一个简短易记的名称。例如,“hello-world”。

                3. (可选)添加您的存储库的描述。例如,“我在 GitHub 上的第一个存储库。”

                4. 在创建公共或私有存储库之间进行选择。

                5. 使用自述文件初始化此存储库。

                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(您可以在刚刚创建的 GitHub 存储库主页的“ssh 克隆 URL”下找到此地址)

                5. git push -u origin master

                就是这样。您的代码现在将被推送到 GitHub。现在,每次您想继续推送已更改的代码时,都可以这样做。

                1. git commit -m "New changes"

                2. git push origin master(如果 master 是您正在处理的分支)

                【讨论】:

                  【解决方案13】:

                  我的解决方案:

                  问题是文件大小,不能超过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

                  查看更多: Error while pushing to github repo 和 https://rtyley.github.io/bfg-repo-cleaner/

                  希望对你有所帮助。 :)

                  【讨论】:

                    【解决方案14】:

                    在 git hub 中创建你的仓库

                    允许通过 GIT 跟踪您的项目

                    1. 使用 CMD 转到保存项目文件的文件夹->cd /automation/xyz/codebase 使用命令 git status 检查 git 初始化 如果您收到此错误消息:致命:不是 git 存储库(或任何父目录):.git,这意味着您当前所在的文件夹没有被 git 跟踪。在这种情况下,通过键入 git init 在项目文件夹中初始化 git,然后执行添加和提交项目的过程。

                    如果您收到另一条错误消息,请仔细阅读其中的内容。通过说“git”这个词无法识别,是不是说你的计算机上没有安装 git?是说您已经在初始化 git 的文件夹或子文件夹中吗?谷歌您的错误和/或输出以了解它,并找出解决方法。

                    现在运行以下命令

                    #

                    echo "你的 git hub 仓库名称" >> README.md 混帐初始化 git 添加 README.md git commit -m "第一次提交" git 远程添加源 https:// #

                    当你第一次打开你的存储库时,你会得到上面的块

                    如果在最后一个命令运行“git push -u origin master”后发生错误或没有任何反应 别担心

                    转到代码可用的文件夹,并通过 git 扩展将其推送到 git [URL],分支

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 1970-01-01
                      • 2013-12-05
                      • 2017-01-11
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2012-12-25
                      • 1970-01-01
                      相关资源
                      最近更新 更多