Как добавить файлы и папки в репозитории GitHub?

248

Я создал учетную запись на GitHub - я новичок в этом - и я столкнулся с проблемой с добавлением файлов. Я добавил readme.txt. Также у меня есть 3 других файла PHP и папка с изображениями.

Как мне добавить файлы и папки? Я попробовал это с, git pullпотому что git push origin -u masterпоказал мне ошибку.

Аднан
источник
9
Пробовал официальный учебник Git ? Это покрыто в самом начале.
Jweyrich
2
Рекомендую книгу ProGit, онлайн-версия бесплатна progit.org/book
house9
Примечание: с декабря 2012 года вы можете создавать файлы непосредственно через веб-интерфейс GitHub. Смотрите мой ответ ниже .
VonC

Ответы:

371

Вы можете добавлять файлы , используя 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

Запустите 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)

Тогда беги 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

Наконец, 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.

Файлы были успешно отправлены в удаленный репозиторий.

Запуск, 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

Если вы не хотите объединять вышестоящие изменения с вашим локальным репозиторием, запустите git fetchдля получения изменений, а затем git mergeдля объединения изменений. git pullэто просто сочетание fetchи merge.

Я лично использовал gitimmersion - http://gitimmersion.com/, чтобы узнать о git - пошаговое руководство, если вам нужна документация и помощь

Первый ноль
источник
8
git add --all folder/работал лучше для меня, чем для меня, чемgit add folder/*
Алекс
4
Это добавляет все файлы и папки рекурсивно?
Аликс
git add <folder>/*добавляет новые файлы тоже.
Даниэль
49

Для пользователей Linux и MacOS:

  1. Сначала создайте репозиторий (Name = RepositoryName) на github.
  2. Откройте терминал и создайте новый каталог (mkdir NewDirectory).
  3. Скопируйте свой ProjectFolder в этот новый каталог.
  4. Измените текущий рабочий каталог на NewDirectory.
  5. Запустите эти команды
    1. мерзавец
    2. git add ProjectFolderName
    3. git commit -m "первый коммит"
    4. git remote добавить источник https://github.com/YourGithubUsername/RepositoryName.git
    5. git push -u мастер оригинала
Анкит Бхатия
источник
20

Обратите внимание, что с начала декабря 2012 года вы можете создавать новые файлы непосредственно из GitHub :

Создать новый файл

ProTip ™ : вы можете предварительно заполнить поле имени файла, используя только URL.
При вводе ?filename=yournewfile.txtв конце URL-адреса поле имени файла будет предварительно заполнено именем yournewfile.txt.

d

VonC
источник
2
Как вы можете загрузить файл, как изображение?
Дрю Бейкер
@DrewBaker механизм, описанный здесь, предназначен для создания текстового файла. Для изображения вам все равно нужно клонировать репозиторий GitHub, добавить изображение локально, зафиксировать и нажать.
VonC
Спасибо и +1 за подсказку о "создании новых файлов непосредственно из GitHub"!
ZeFree
Я не верю, что веб-интерфейс Github предоставляет способ добавления папок, помимо добавления простых текстовых файлов, таких как readme markdowns.
Деви
Я думаю, что вопрос заключается в том, как загружать файлы с вашего компьютера, а не как создавать файлы.
Электра
8

Если вы хотите добавить пустую папку, вы можете добавить файл «.keep» в вашу папку.

Это потому что git не заботится о папках.

Готье
источник
Именно ответ я искал.
Алексис Вилке
6

Вам необходимо оформить репозиторий на локальном компьютере. Затем вы можете изменить эту папку на вашем локальном компьютере.

git commit -am "added files"

Эта команда передаст все файлы в репо.

git push origin master

это подтолкнет все изменения в вашей основной ветке (которую я предполагаю, что вы используете) в источник удаленного хранилища (в данном случае github)

Gevious
источник
4

Простое решение:

git init
git add =A
git commit -m "your commit"
git push -u origin master

если вы хотите добавить папку в существующее хранилище .. затем добавить папку в локальный код проекта

git rm --cached ./folderName
 git add ./folderName

после этого

git status
git commit -m "your commit"
git push -u origin master
Шашват Гупта
источник
2

При добавлении каталога в github убедитесь, что в каталоге нет файла .git, используя «ls -a», если он удаляется. .git файлы в каталоге будут вызывать проблемы при попытке добавить этот каталог в git

Matt
источник
0

Проверьте мой ответ здесь: https://stackoverflow.com/a/50039345/2647919

ИЛИ даже лучше просто перетащите папку в ваш репозиторий, открытый в браузере git.

Откройте свой репозиторий на веб-портале, вы увидите список всех ваших файлов. Если вы только что создали репо и инициировали его с помощью README, вы увидите только список README.

Откройте папку, которую вы хотите загрузить. перетащите список в браузере. Смотрите изображение здесь . "

RavenReema
источник
0

Я использую VS SSDT на Windows. Я запустил проект и настроил локальный контроль версий. Позже я установил git и создал репозиторий Github. Когда у меня был репозиторий на Github, я взял URL-адрес и поместил его в VS, когда он спросил меня об URL-адресе, когда я нажал кнопку «Опубликовать в Github».

cromastro
источник