如何将文件和文件夹添加到GitHub存储库?

Adn*_*nan 229 git github

我在GitHub上创建了一个帐户 - 我是新手 - 我正面临添加文件的问题.我补充说readme.txt.另外,我有3个其他PHP文件和一个包含图像的文件夹.

如何添加文件和文件夹?我尝试过,git pull因为git push origin -u master给我一个错误.

Fir*_*ero 350

您可以使用git add,示例git add README,git add <folder>/*甚至添加文件git add *

然后使用git commit -m "<Message>"提交文件

最后git push -u origin master推送文件.

当您进行修改运行时git status,它会为您提供修改的文件列表,使用它来添加它们git add *,或者您可以单独指定每个文件,然后git commit -m <message>,最后,git push -u origin master

示例 - 假设您创建了一个文件README,正在运行git status给您

$ git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   README
Run Code Online (Sandbox Code Playgroud)

运行git add README,文件暂停进行提交.然后git status再次运行,它应该给你 - 文件已经添加并准备提交.

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   new file:   README
#

nothing added to commit but untracked files present (use "git add" to track)
Run Code Online (Sandbox Code Playgroud)

然后跑 git commit -m 'Added README'

$ git commit -m 'Added README'
[master 6402a2e] Added README
  0 files changed, 0 insertions(+), 0 deletions(-)
  create mode 100644 README
Run Code Online (Sandbox Code Playgroud)

最后,git push -u origin master推送master存储库的远程分支origin.

$ git push -u origin master
Counting objects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 267 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
To xxx@xxx.com:xxx/xxx.git
   292c57a..6402a2e  master -> master
Branch master set up to track remote branch master from origin.
Run Code Online (Sandbox Code Playgroud)

文件已成功推送到远程存储库.

运行a git pull origin master以确保您已吸收任何上游更改

$ git pull origin master
remote: Counting objects: 12, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 8 (delta 4), reused 7 (delta 3)
Unpacking objects: 100% (8/8), done.
From xxx.com:xxx/xxx
 * branch            master     -> FETCH_HEAD
Updating e0ef362..6402a2e
Fast-forward
 public/javascript/xxx.js |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)
 create mode 100644 README
Run Code Online (Sandbox Code Playgroud)

如果您不想将上游更改与本地存储库合并,请运行git fetch以获取更改,然后git merge合并更改.git pull仅仅是一个组合fetchmerge.

我亲自使用gitimmersion - http://gitimmersion.com/来获取git上的曲线,这是一个循序渐进的指南,如果你需要一些文档和帮助

  • `git add --all folder /`比我的git add folder/*更适合我 (8认同)
  • 这会递归添加所有文件和文件夹吗? (3认同)

小智 48

对于Linux和MacOS用户:

  1. 首先在github上创建存储库(Name = RepositoryName).
  2. 打开终端并创建新目录(mkdir NewDirectory).
  3. 将ProjectFolder复制到此NewDirectory.
  4. 将当前工作目录更改为NewDirectory.
  5. 运行这些命令
    1. git init
    2. git添加ProjectFolderName
    3. git commit -m"first commit"
    4. git remote add origin https://github.com/YourGithubUsername/RepositoryName.git
    5. git push -u origin master


Von*_*onC 20

请注意,自2012年12月初以来,您可以直接从GitHub创建新文件:

创建新文件

ProTip™:您可以仅使用URL预填充文件名字段.在URL末尾
键入?filename=yournewfile.txt将使用名称预填充文件名字段yournewfile.txt.

d

  • 如何上传文件,如图像? (2认同)

Gau*_*ier 13

如果您想添加一个空文件夹,您可以在您的文件夹中添加一个“.keep”文件。

这是因为 git 不关心文件夹。

  • 详细说明:Git 无法添加完全空的目录。通过将 .gitkeep 文件放入这样的空目录中,git 现在可以跟踪该文件夹。PS:.gitkeep 不是 Git 的一个功能,而是一个_解决方法_ (4认同)

Sha*_*pta 7

简单的解决方案:

git init
git add =A
git commit -m "your commit"
git push -u origin master
Run Code Online (Sandbox Code Playgroud)

如果您想将文件夹添加到现有存储库..然后将文件夹添加到本地项目代码

git rm --cached ./folderName
 git add ./folderName
Run Code Online (Sandbox Code Playgroud)

在那之后

git status
git commit -m "your commit"
git push -u origin master
Run Code Online (Sandbox Code Playgroud)


Gev*_*ous 6

您需要将存储库签出到本地计算机上.然后,您可以在本地计算机上更改该文件夹.

git commit -am "added files"
Run Code Online (Sandbox Code Playgroud)

该命令将所有文件提交到repo.

git push origin master
Run Code Online (Sandbox Code Playgroud)

这将把您的主分支(我假设是您正在使用的那个)中的所有更改推送到远程存储库源(在本例中为github)