247

我有一个包含我的项目来源的文件夹。如何将这个项目推送到 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 存储库中呢?

4

18 回答 18

386
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.
于 2013-08-20T07:14:33.743 回答
119

用较少的技术术语

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

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

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

选项1

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

在此处输入图像描述

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

在此处输入图像描述

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

选项 2

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

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

git init

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

git add .

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

 git commit -m "Initial Commit"

现在,您可以在此处添加现有的 repo

git remote add github <project url>

但不要从字面上输入<project url>,而是您自己的项目 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
于 2015-11-12T07:16:27.677 回答
40

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

➤ 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不指定远程或分支的情况下从 master 执行操作。

于 2013-06-25T08:11:18.170 回答
9

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

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

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

于 2013-08-12T14:21:06.973 回答
8

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

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

  1. 转到项目目录的终端

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

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

  4. 使用暂存文件 git add .

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

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

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

所以,如果你的 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 起源大师

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

有关详细信息,请参阅此博客

于 2020-09-09T08:46:22.530 回答
8

总之;

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

于 2017-06-22T05:39:47.887 回答
5

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

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

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

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

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

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

第 6 步:输入git add 。 此步骤后没有任何反应,但键入并继续下一步。

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

或者

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

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

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

我希望这会有所帮助。

于 2014-01-22T23:47:43.033 回答
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)
于 2017-01-03T06:22:51.680 回答
4
  1. 从命令行导航到您的本地存储库目录。
  2. 在 GitHub 中创建新存储库,它将为您提供一个以 . 结尾的链接.git
  3. 在 cmd 中运行:(git remote add origin [your_GitHub_Repository_link]记住链接应该以 结尾.git
  4. 然后运行:git push -u origin master

希望这很有用。

于 2017-08-31T12:04:37.213 回答
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
于 2017-11-21T04:54:59.873 回答
4

截至 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按钮初始化过程。

对于那里的视觉学习者:

在此处输入图像描述

于 2019-07-29T21:02:05.410 回答
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 

指定为原点

于 2016-05-07T13:53:42.740 回答
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
于 2017-04-24T12:58:34.807 回答
2

我知道,这是一个老问题,但我试图解释每一步,所以它可能对其他人有所帮助。这就是我将现有源添加到 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(在这里你添加一个远程项目,你的源代码将被推送;用你的 ssh || https 替换我的链接从步骤#1)。
  7. 运行git push -u origin master(在这里您将源代码推送到 git 存储库中)。

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

于 2017-05-26T06:31:06.680 回答
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在设置远程原点后进行操作,但我需要指定--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
于 2017-06-04T18:58:21.667 回答
1

这个对我有用(只需保留它以供需要时参考)

# 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
                

于 2020-12-12T13:16:03.500 回答
1

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

以下是有关如何设置的一些其他资源:

于 2017-04-24T13:10:17.547 回答
0

我发现刺激“自然”序列的更新比强制推动事物更容易。

假设已经在 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 可能会拒绝,要求先配置用户电子邮件和密码。按照屏幕上给出的步骤操作,然后再次运行 commit 命令。

  1. 这三个命令是您现在每次想要推送另一个更新时所做的。
于 2019-04-26T17:29:29.770 回答