【问题标题】:Push existing project into Github将现有项目推送到 Github
【发布时间】:2013-06-21 22:26:22
【问题描述】:

我有一个包含我的项目源代码的文件夹。如何将这个项目推送到 Github 的存储库中?

我尝试使用以下步骤:

  1. 我在 GitHub 上创建了空存储库。
  2. 我运行 git-bash 并输入 git init,所以在项目根目录中出现了 .git 文件夹。
  3. 我使用git add sourcesFolderName向版本控制中添加了一些文件
  4. 我使用git commit -m "initial commit" 提交了在上一步中添加的文件
  5. 我使用git remote add MyProject <url> 指定了远程存储库
  6. 终于git push,但是没有推送到远程仓库...(没有授权失败)

那么我如何将现有资源推送到新创建的 github 存储库中?

【问题讨论】:

  • git push 的输出究竟是什么?
  • @user1615903 我确定我的步骤顺序错误。我想我需要像git clone 这样的东西。我不记得git push 的输出,但我认为这并不重要。因为其他地方的问题
  • 你做了git push MyProject master吗?
  • 这篇博文可能会帮助任何想要完成这项任务的人。对所有步骤进行了简单而详细的描述。 samranga.blogspot.com/2015/07/…
  • 一个小建议,尝试使用SourceTree应用程序。UI非常好。

标签: git github


【解决方案1】:

推送时需要指定哪个分支和哪个远程:

➤ 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

这将允许您在不指定远程或分支的情况下从 master 执行 git push。

【讨论】:

  • 正确。您也可以跳过 /master 部分,因为它是多余的。
  • "git add Readme.md" 不正确。如果已经存在,则无需添加。如果它不存在,则命令失败。无论哪种方式,这都是不正确的。
  • @Mitch 这不是一个秘密的魔法调用,它会突然让你的计算机做你想做的事。这是一个让人们知道他们应该做什么的例子。我希望人们能够理解他们在机器中输入的命令。
【解决方案2】:

如果您使用的是 Mac(这在 PC 上可能同样适用),这里有一个非常简单的方法。奇怪的是,我为这个简单的过程寻找了高低,但从未找到它。

  • 不要在 Github 上做任何事情(除了拥有一个帐户,并且没有用完所有可用的存储库)。
  • 下载 GitHub for Mac 并安装。完成帐户设置等。不要为现有项目创建任何存储库。
  • 存储库中的“添加新本地存储库”。
  • 选择您现有的文件夹。它会询问你是否想这样做,说是。
  • 完成后,您将看到所有文件的列表等。提交它们。
  • 转到存储库并发布(如果您正确设置了帐户,这将为您在 GitHub 上创建新的存储库)。
  • 转到存储库并推送(您将看到“无推送”的内容,或者它将您的文件/更改推送到新自动生成的存储库)。
    • 想知道为什么在其他任何地方都找不到这个简单的过程。

我知道不建议将项目文件夹用作 repo 文件夹。我一直这样做,它总是有效的,它使它变得简单,而且我从来没有遇到任何麻烦。

【讨论】:

  • 在我看来,如果 GitHub 应用程序允许用户这样做,那么它一定没问题。
【解决方案3】:
git init
git add .
git commit -m "Initial commit"
git remote add origin <project url>
git push -f origin master

git push 上的 -f 选项强制推送。如果你不使用它,你会看到这样的错误:

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.

【讨论】:

  • 这解决了我的问题,但我无法执行命令 4 git remote add origin &lt;project url&gt; 说 command syntax not correct。我忽略了它,它起作用了
  • 附注一下,如果您不想使用 GitHub 网站,可以在第三步之后添加:curl -u 'USER' https://api.github.com/user/repos -d '{"name":"REPO"}',将 USER 替换为您的用户名,将 REPO 替换为名称要创建的存储库。
  • 另外,我认为你不能再只做git add .,你应该把它改成cat "# reponamehere" &gt;README.md然后git add README.md。 GitHub 文档就是这么说的
  • 我相信-f 标志会强制远程历史消失?这似乎是一个危险的运算符。
【解决方案4】:

我将遵循 Rose P 之前的评论。我花了很长时间才找到解决方案,所以我重新发布(希望用简单的英语)对我有用的东西......

第 1 步:在 Github.com 上创建新的存储库(如果您已经有,请跳过)

第 2 步:关闭 XCode...不需要

第 3 步:打开一个新的终端窗口(是的,您必须使用终端...我尝试了所有其他方法...没有任何效果)

第 4 步:使用命令 cd 找到项目的文件夹位置(要添加到现有或新存储库的项目)

第 5 步:输入 git init 你会得到这样的东西。 重新初始化/{当前目录}中的现有 Git 存储库

第 6 步:输入 git add . 在这一步之后什么都没有发生,但是输入它并继续下一步。

第七步:输入 git commit -m "Initial commit" 你会得到以下信息: # 在分支 master 上没有提交,工作目录干净

或

关于配置的一些说明,然后是已更改文件的列表。

第 8 步:输入 git remote add origin {project url} 项目 url 可以在 Github.com 中找到。它是 HTTPS 克隆 URL ...您应该能够复制并粘贴到终端窗口。如果系统告诉您 origin 已经存在,请创建一个不同的名称或使用您的项目名称(不同的名称)

第 9 步:转到 Mac 上的 GitHub 应用程序,然后单击“同步分支”按钮(即使没有待处理的更改)。我认为它需要一段时间才能真正提交,但是如果您返回本地存储库文件夹,您应该会看到您的新项目。我不得不重新创建父文件夹,但这只是移动文件的问题。转到 GitHub.com 并刷新您的浏览器,您的新文件也应该在那里。

我希望这会有所帮助。

【讨论】:

    【解决方案5】:

    用较少的技术术语

    我的回答没有什么不同,但我正在添加更多信息,因为那些新的可以从填补信息空白中受益。

    在 github 上创建 repo 后,他们会有说明。你可以关注那些。但是这里有一些额外的提示,因为我知道开始使用 git 是多么令人沮丧。

    假设您已经在本地启动了您的项目。你有多少并不重要。但是让我们假设你有一个 php 项目。假设您有 index.php、contact.php 和一个包含图像、css 和字体的资产文件夹。你可以这样做(简单),但有很多选择:

    选项 1

    登录到您的 github 帐户并创建 repo。

    在以下屏幕中,如果您单击按钮(屏幕右侧)“在桌面中克隆”,您可以将其复制到您需要的位置。

    您可以(或以其他方式)然后将现有项目中的内容复制到新的存储库中。使用 github 应用程序,您可以使用他们的 GUI 从那里提交(这意味着您只需单击应用程序中的按钮)。当然,您可以输入提交的注释。

    选项 2

    • 如上所述在 github 上创建您的存储库。
    • 在您的计算机上,使用终端转到您的目录。使用 linux 命令行,您将 cd 进入该目录。从这里你运行以下命令来将你现有的项目“连接”到你在 github 上的 repo。 (这是假设你在 github 上创建了你的 repo,它目前是空的)

    首先这样做是为了初始化 git(版本控制)。

    git init
    

    然后执行此操作以添加所有要“监控”的文件。如果您有要忽略的文件,则需要添加.gitignore,但为了简单起见,只需使用此示例进行学习即可。

    git add .
    

    然后你提交并在"" 之间添加一个注释,比如“第一次提交”等。

     git commit -m "Initial Commit"
    

    现在,您可以在此处添加现有存储库

    git remote add github <project url>
    

    但是不要直接输入&lt;project url&gt;,而是你自己的项目URL。你怎么知道的?转到您的仓库在 github 上的链接,然后复制该链接。就我而言,我的一个仓库是 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
    

    【讨论】:

    • 你的就是最好的解释。对于阅读本文的其他人:我首先在 github 上创建了我的存储库,所以它不会让我推送。我必须 > github pull 然后 github push。之后,一切都很好。
    • 非常感谢您!在所有其他选项都失败后,选项 1 救了我的命! :D
    • 很好的解释!但是我会添加以下几行:git remote add origin 然后 git push -f origin master。没有-f会报错
    • 请在最后一个命令中添加 -f 选项,这样你的答案是最好的
    • 这真的很有帮助!我不小心用 README 初始化了 github 存储库,然后它不起作用。我用一个空的仓库又做了一次,它奏效了。
    【解决方案6】:
    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 
    

    指定为原点

    【讨论】:

      【解决方案7】:
      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)
      

      【讨论】:

        【解决方案8】:

        首先,使用您的项目名称在 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
        

        【讨论】:

          【解决方案9】:

          如果您想摆脱命令行,另一个选择是使用SourceTree。

          这里有一些关于如何设置的额外资源:

          【讨论】:

          • 这并没有具体解决问题中面临的挑战
          【解决方案10】:

          我知道,这是一个老问题,但我试图解释每一步,所以它可能对其他人有所帮助。这就是我将现有源添加到 git 的方式:

          1. 在 git 上创建 repo,这样你就拥有了 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 存储库)。

          注意:这些是将您的源代码推送到 ma​​ster 分支的简单步骤。

          【讨论】:

            【解决方案11】:

            不想再添加另一个答案,但我的特定场景并没有在这里完全涵盖。我有一个本地存储库,其中包含我想要保留的更改历史记录,并且在 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,但我需要指定--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
            

            【讨论】:

            • 我也有同样的问题,但是你的步骤导致了一些奇怪的文本编辑器
            • 啊,我猜你通常使用 UI 并且通常不会从命令行提交(这没有错,我使用 SourceTree UI)。弹出的编辑器很可能是vi编辑器,它的界面本身就是一个完整的主题,这里不再深入。
            【解决方案12】:

            总结;

            git init
            git status
            git add "*"
            git commit -m "Comment you want"
            git remote add origin  https://link
            git push  -u origin master
            

            我想与您分享一个源代码,以便您更轻松地了解 Git。

            https://try.github.io/levels/1/challenges/1

            【讨论】:

              【解决方案13】:
              1. 从命令行导航到您的本地存储库目录。
              2. 在 GitHub 中创建新的存储库,它将为您提供一个以.git 结尾的链接。
              3. 在 cmd 中运行:git remote add origin [your_GitHub_Repository_link](记住链接应该以 .git 结尾)
              4. 然后运行:git push -u origin master

              希望这是有用的。

              【讨论】:

                【解决方案14】:

                创建一个新的仓库

                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
                

                【讨论】:

                • 提交和推送有什么区别? push中的“origin”和“master”指的是什么?一个分支?
                【解决方案15】:

                我发现以“自然”顺序刺激更新比强制推动更新更容易。

                假设已经在 github 上创建了 repo,并且您可能还在 README.md 中添加了一些东西。

                1. 在您的计算机上,打开终端和git clone [repo URL]

                2. 您会看到已创建一个带有您的 repo 名称的新文件夹。随意重命名它 - 没关系。

                3. 将您的代码、文件等移动到此文件夹中。如果需要,请编辑 README.md。

                4. 现在打开终端/命令提示符,进入该文件夹并像对 repo 进行下一次更新一样执行操作:

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

                注意:在提交命令时 git 可能会拒绝,要求先配置用户电子邮件和密码。按照屏幕上给出的步骤,然后再次运行提交命令。

                1. 这三个命令是您现在每次想要推送另一个更新时执行的操作。

                【讨论】:

                  【解决方案16】:

                  截至 2019 年 7 月 29 日,Github 向用户提供了在创建存储库时完成此任务的说明,并提供了多种选择:

                  在命令行创建一个新的仓库

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

                  从命令行推送现有存储库

                  git remote add origin https://github.com/user/repo.git
                  git push -u origin master
                  

                  从另一个存储库导入代码

                  按import 按钮初始化进程。

                  对于视觉学习者:

                  【讨论】:

                    【解决方案17】:

                    自 2005 年问世以来,Git 一直是首选的版本控制系统。大约 87% 的开发人员使用 Git 作为他们的版本控制系统。

                    但是如果你有一个已经存在的项目,并且你想在远程服务器中推送到 Git,请按照以下步骤操作:

                    1. 转到项目目录的终端

                    2. 你需要使用git init初始化你的项目git

                    3. 创建一个 .gitignore 文件,它实际上是一个文本文件,它告诉 Git 在项目中忽略哪些文件或文件夹。

                    4. 使用git add . 暂存您的文件

                    5. 使用适当的提交消息将您的更改提交到本地存储库:git commit -m "my first commit"

                    6. 在这一步中,您只需要在任何一个分布式版本控制系统(如 GitHub 或 Bitbucket)中创建一个存储库

                    7. 使用此 Git 命令将本地存储库与远程存储库链接:git remote add &lt;your-remote-name&gt; &lt;your-remote-url&gt;

                    所以,如果你的 GitHub repo-url 是 https://github.com/your-github-username/new-repository.git,那么 Git 命令就变成了:

                    git remote add origin https://github.com/<your-github-username>/new-repository.git
                    
                    1. 将您的代码推送到远程 GitHub 存储库

                      git push origin master

                    注意:git push 命令需要两个参数:远程存储库的名称(origin)和要推送到的分支(此处为 master 是每个存储库的默认分支)。

                    有关详细信息,请参阅此blog。

                    【讨论】:

                      【解决方案18】:

                      这个对我有用(留着供需要时参考)

                      # Go into your existing directory and run below commands
                      cd docker-spring-boot
                      echo "# docker-spring-boot" >> README.md
                      git init
                      git add -A
                      git commit -m "first commit"
                      git branch -M master
                      git remote add origin https://github.com/devopsmaster/docker-spring-boot.git
                      git push -u origin master
                                      
                      
                      

                      【讨论】:

                        猜你喜欢
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 2016-05-21
                        • 1970-01-01
                        • 2014-01-06
                        • 1970-01-01
                        相关资源
                        最近更新 更多