Как создать папку в гитхабе

Как создать папку в гитхабе

Я новичок в git, и теперь я загружаю все мои недавние проекты в качестве хранилищ для github. Существует множество различных проектов, таких как веб-дизайн, темы WordPress и различные типы приложений. Некоторые из них также относятся к более крупным проектам, потому что они собирались тестировать некоторые вещи в качестве другого приложения.

Проблема в том, что у меня сейчас запутанное количество репозиториев. Как я могу группировать связанные репозитории github в структуре папок? Есть ли функция, предоставляющая любую возможность упорядочивать или структурировать или даже помещать репозитории на github?

2 ответа

В GitHub вы не можете группировать свои репозитории по «папке», если только вы не создаете организации . См. SublimeText , например, как группу всех репозиций пакетов sublimeText.

Но это не будет поддерживать организацию вложенных папок.

На данный момент (июнь 2017 г.), который поддерживает только вложенную организационную структуру команды .

Другое решение — это определить репозитории, которые ссылаются другие репозитории, объявленные как подмодули .

Таким образом, когда вы клонируете один из репозиториев (который ссылается на другие репозитории), называемые «родительские репозитории», они будут клонированы в их собственный каталог с подкаталогом на подмодули.

Это не будет визуально очевидным на вашей учетной записи GitHub (так как в нем все еще будет содержаться большой список репозиториев, еще больше с родительскими репозиториями) , но, клонировав одно родительское репо, вы вернете все связанные с ним подмодули.

Просто хочу создать репозиторий для контроля версий своего проекта в VisualStudio.

При работе над проектом в IDE — продвинутом инструменте разработки ПО, вы как правило работает с множеством файлов. Например — если вы делаете сайт, то для Вас в процессе это будет минимум папка в которой:

  • несколько HTML файлов
  • папка с библиотеками
  • папка со скриптами на JS
  • папка с стилями CSS

Начнете Вы наверное с того, что создадите определенную структуру сайта — создадите набор пустых HTML страничек подключите к ним необходимые библиотеки, стили и тп.

Для того чтобы “спокойно” продолжить работу было бы удобно сохранится на этом моменте? Сохранить текущую версию проекта. Воспользуемся для этого онлайн сервисом контроля версий: GitHub.

Для начала

  • Скачайте GitBash — программа, которой мы будем контролировать наши версии в Windows
  • Зарегистрируйтесь на GitHub — онлайн хранилище версий вашего проекта
  • Создайте отдельную пустую папку на диске

В качестве примера можете скачать себе этот проект в пустую папку.

Кто вносил изменения в код можно определить по имени пользователя git. Для этого сообщим git свое имя и email-адрес. Для этого введите:

Превратим наш проект в репозиторий git. Для начала просто создайте папку git_site , затем введите следующие команды:

Где mkdir — команда для создания новых каталогов;
cd — переход в указанную папку; команда cd используется для смены текущего каталога.
cd .. на уровень выше
cd в корень текущего диска
d: перейти на диск D
cd c:windows перейти в каталог windows

После инициализации каталога будет выведено соответствующее сообщение:

В корне нашего каталога также создастся скрытая папка .git , в эту папку будет помещаться вся история и т.д. затрагивающая наш репозиторий.

$ git add

Далее в наш каталог ( git_site ) можно поместить файлы сайта. Скопируем файлы сайта в папку git_site . Далее, давайте добавим файлы в репозиторий.

Для этого понадобится выполнить команду:

$ git status

Команда $ git status позволяет отследить состояние репозитория. Эта команда позволяет узнать, какие изменения необходимо зарегистрировать git (при необходимости, отменить).

$ git commit –a , $ git commit –am ". ", $ git commit –a –m ". "

Чтобы зарегистрировать добавление вышеприведенных файлов необходимо выполнить следующую команду:

–a означает: добавить все изменения в индекс до передачи.
-m : сообщение.

Подтверждение с описанием выполненных действий.

Мы сделали "снимок кода". Теперь мы можем редактировать файлы и регистрировать наши изменения.

$ git stash

Иногда возникает ситуация, когда вы работаете на одной ветке и вам срочно нужно переключиться на другую ветку, при этом регистрировать изменения нежелательно. Для таких случае существует команда stash . Команда stash позволит сохранить изменения, не регистрируя их. Например:

Читайте также:  Как прокачать планшет на андроиде

$ git stash list

Чтобы просмотреть все сохраненные, но не зарегистрированные изменения понадобится следующая команда:

На изображении у нас одно незарегистрированное изменение. В самом файле эти изменения не будут отображены.

$ git stash pop

Восстановить же изменения поможет следующая команда:

$ git merge

Чтобы объединить ветки, например, ветку hotfix с веткой master , необходимо выполнить следующие команды:

Давайте удалим ветку hotfix . Для этого воспользуемся следующей командой:

Ветвление

Ветка позволяет отделить работу, например, над каким-то компонентом от основного кода сайта.

$ git checkout –b

Чтобы создать новую ветку выполните команду:

Этим мы к тому же переключились на новую ветку hotfix . Теперь все внесенные в файлы изменения будут относиться к ветке hotfix .

Теперь давайте внесем изменения в файл index.html . Например, давайте подключим стилевой файл. И в самом стилевом файле увеличим размер шрифта у параграфа. Сделаем git status и зарегистрируем изменения:

Теперь, если мы переключимся на ветку master , мы не найдем там изменения, внесенные на ветке hotfix . Таким образом, git меняет содержимое файлов при изменении ветки.

git init (инициализируем git реп-й)

Чтобы проинициализировать Git репозиторий введите команду:

Будет создана папка /.git/ . Репозиторий — это скрытая папка, в которой работает Git.

git status (Проверяем статус)

Комнада, выводяюща статус репозитория, чтобы увидеть в каком состоянии находится наш проект:

git add (добавляем файл)

Чтобы сообщить Git о том, что пора начать отслеживать изменения, внесенные в файл, мы сначала должны добавить его с помощью:

Сейчас git отслеживает наш файл test.txt. Давайте выполним

снова, чтобы понять, что изменилось!

git commit (фиксируем изменения)

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

git commit -m "Add cute octocat story"

Если вы опустите метку -m из командной строки, git перенесет вас в редактор по вашему выбору. В первой строке введите комментарий: «Added h1 tag». Сохраните файл и выйдите из редактора (для этого в редакторе по-умолчанию (Vim) вам нужно нажать клавишу ESC , ввести :wq и нажать Enter ). Вы увидите . (http://githowto.com/ru/commiting_changes)

Используем маску

К счастью, у нас есть возможность добавить все файлы, используя шаблон. Не забывайте про кавычки!

git commit –a –m ”new comment here”

Коммитится только то, что проиндексировано. Индексирование происходит функцией add (она и добавляет файлы и индексирует их).

Коммит идет не сразу: файлы, которые находятся под присмотром ГИТ необходимо проиндексировать (то есть если нам нужно сделать коммит для 1-файла, то мы помещаем его в индекс и закоммитится только он). С помощью ключа –a мы индексируем ВСЕ файлы и, соответственно, сразу выполняем коммит (например,

—amend

git commit —amend

Эта команда берет область индексирования (add) и включает в коммит всю обнаруженную там информаци. Например,

Второй коммит заменит результат первого и в итоге останется 1 коммит

Работаем с GitHub

Зарегистрируйтесь на GitHub. Создайте репозиторий.

Чтобы разместить наш локальный репозиторий на GitHub, мы должны добавить удаленный репозиторий.

Эта команда принимает имя удаленного репозитория и его URL. В нашем случае это https://github.com/try-git/try_git.git

Выполняем команду с указанными аргументами:

git remote add origin https://github.com/try-git/try_git.git

Где origin — имя удаленного репозитория.

Плюсы и минусы bitbucket.org и GitHub

На bitbucket.org можно создавать неограниченное количество приватных репозиториев (плата взимается, если к репо привязываются более 5 пользователей). На GitHub большинство проектов open source, также для приватного репо уже приходится платить – даже для 1-го пользователя. Для своих проектов я рекомендую все же использовать bitbucket.org.

Процесс разработки:

Переходим на боевой сервере по SSH и стягиваем (PULL) с GitHub, при этом разработка идет на ПК разработчика (может быть более 1-го разработчика, с локального ПК делаем PUSH на GitHub).

Эта команда показывает имя удаленного репо, если такой имеется в наличии.

Ключ –v показывает путь к удаленному репо.

Подробно о любой команде можно узнать:

Коммитим и пушим на GitHub (global настройки matching и simple)

Если мы выполнима для настройки глобального конфига следующую команду:

Читайте также:  Как пройти трололо квест

То по команде git push произойдет следующее: если на боевом репо есть 2 ветки, которые соответствуют 2-м локальным веткам, то на удаленный репо протолкнутся эти 2 ветки.

В данном случае протолкнется лишь текущая ветка.

git remote (прсматриваем уд. реп.)

Команда git remote позволяет просмотреть удаленные репозитории

git remote -v параметр -v позволяет увидеть URL-адреса.

git remote add (добавляем уд. реп.)

Добавление удаленных репозиториев под короким именем:

git remote add [сокращенное имя] [url]

git remote add kuku [url] — теперь вместо полного URL-адреса в командную строку можно вводить имя kuku

В уже сущест. реп. добавляем реп. сторонний и стягиваем из него ветку master

Иниц. пустой реп.
Добавляем реп.
извлекаем все данные (.git)
и стягиваем ветку master из реп. kuku

git remote show (получаем инфо. об уд. реп.)

Команда git remote show [имя удал. реп.] позволяет просмотреть дополнительную информацию о конкретном удал. реп.

git fetch (извлечение данных из уд. реп.)

Извлечение данных из уд. реп. выполняется командой:

После исполнения данной команды у вас должны появиться ссылки на все ветки удаленного проекта

Получаем данные из удаленного репо, но при этом они есть лишь в папке .git, в рабочей папке их нет. Для того чтобы данные появились в рабочей папке необходимо выполнить команду:

git push (проталкиваем изменения)

Команда git push говорит Git, куда отправить наши изменения, когда все готово. Итак, запушим наши локальные изменения в наш удаленный репозиторий на GitHub. Имя удаленного репозитория origin , а ветка по умолчанию называется master (не думайте пока что о ветках). Параметр -u позволит нам в будущем не указывать дополнительные параметры, а просто выполнять git push . Git будет знать, что нужно делать.

git push -u origin master

где origin – это куда отправляем (удаленный репозитарий), а
master это то, что отправляем (в нашем случае master ).

git pull (стягиваем изменения)

Давайте представим, что прошло какое-то время. Мы пригласили других людей в наш проект, они забрали наши изменения в свои локальные репозитории и внесли свои изменения, запушили их. Мы можем проверить изменения на GitHub и спуллить их с помощью команды:

git pull origin master

Забираем изменения из ветки ( master ) на удаленном сервере ( origin ) и проводим слияние с активной веткой.

git diff, git diff HEAD

Команда git diff показывает не все изменения, сделанные с момента последней фиксации состояния, а только те, которые еще не проиндексированы.

Команда git dif —cached покажет проиндексированные изменения

Ой! Похоже, кто-то еще вносил изменения в наш проект! Давайте посмотрим, что изменилось, с нашего последнего коммита, с помощью команды

В данном случае мы хотим получить изменения с нашего последнего коммита, ссылку на который мы можем получить с помощью указателя HEAD .

Еще один полезный вариант использования git diff — просмотр изменения, которые уже были помещены в промежуточную область. Запомните! В этой области находятся файлы, которые git готов(!) закоммитить.

git reset (Откатываем изменения/удаляем файлы из промежуточной области)

Вы можете удалять файлы из промежуточной области с помощью git reset .

git reset octofamily/octodog.txt

git log (информация о последних коммитах)

Иногда просто хочется вернуться назад и забыть все изменения до определенного момента, потому что все они были неправильными. В таком случае Для просмотра изменений (истории коммитов) используется команда

покажет список последних коммитов и их хеши SHA1.

На самом верху мы видим самый последний коммит. Функция log очень богатая – позволяет смотреть, что было до и что было после, у git хорошая помощь (faq), чтобы просмотреть все возможности log можно воспользоваться командой:

Например, мы можем выводить историю в более удобном формате:

%h – короткий код самого коммита;
%an – автор;
%ar – когда был сделан;
%s — комментарий.

Ограничиваем коммиты по времени:

-p показывает разницу, внесенную каждым коммитом. -2 ограничивает выводимый результат последними 2 записями.

—stat используется для получения краткой статистики по каждому коммиту.

—graph добавляет графику с историей ветвлений и слияний

Читайте также:  Как подключить беспроводную оптическую мышь к ноутбуку

git checkout (Отмена изменений)

Файла был удален из промежуточной области. Но сам файл все еще находится в проекте! Файлы могут быть возвращены в состояние последнего коммита с помощью команды:

git checkout — octocat.txt

git checkout 82f5

Для указания коммита достаточно первых нескольких символов его хеша ( 82f5 ), но можете скопировать и весь хеш.

git checkout (получаем уд. ветку)

Для получения собственной копии [имя_ветки] (из уд. реп.) можно воспользоваться командой :

(?) или просто git checkout [имя_ветки] ; но тут главное, чтобы [имя_ветки] присутствовала в уд. реп.

git branch (создаем ветку)

Когда разработчики работают над новой фичей или багом, они обычно создают копию (или ветку) кода проекта, в которую они могут коммитить независимо. Когда разработка завершена, изменения из этой копии (ветки) нужно влить (вмержить) обратно в основную ветку проекта.

Давайте создадим новую ветку и назовем ее clean_up :

git branch clean_up

git branch -d (удаление ветки)

Вы можете использовать команда git branch -d
для удаления ветки. Сделаем это:

git branch -d clean_up

git branch -vv (наблюдаем за уд. ветками)

Команда git branch -vv позволяет получить список всех веток, за которыми идет наблюдение (за какой веткой следит на уд. сервере и на сколько опережает соотв. ветку на уд. сервере).

Данная команда не обращается к серверу, а а берет локальные данные из кэша.
Для получений актуальной информации как на удаленном так и на локальном серверах можно использовать команду:

git rm (удаляем файлы)

Команды git rm , которая не только удалит файлы с диска, но и добавит сведения об их удалении в Git.

Если вы проиндексировали файл, то следует воспользоваться параметром -f , который инициирует принудительное удаление

merge (смержим в текущую ветку другую)

Настал момент, когда вы должны смержить изменения из ветки clean_up в ветку master .

Мы уже находимся в ветке master (вы уже знаете, как в этом убедиться). Осталось только сказать Git, что мы хотим смержить в текущую ветку другую — clean_up :

git merge clean_up

git clone

По url создаем локальный репозиторий, склонировав удаленный, например, с gitHub. Предварительно необходимо выполнить команду git init .

$ mkdir epicgame & cd epicgame
$ git init
$ git remote add
$ git clone

rejected

Если при push появляется rejected , то это говорит о том, что необходимо скачать изменения с удаленного сервере и уже затем push -ть.

Конфликты

Сообщение о конфликте:

В статусе ( git st ) появляется блок:

То есть у нас появились файлы, которые автоматически не с merg -сь.

То есть в самом файле:

Это указатель на тот commit, с которым мы сейчас работаем. Нужно выбрать или оставить свои изменения ( // Fry comment ) или оставить строку пользователя Bender ( // Bender comment ).

Разные полезные команды:

Добавляем пользователя:

(config – работаем с конфигом; —global – ключ для глобального конфига; user.name — имя).

(задаем email глобально)

(данные о гите и о пользователе; хранятся в c:users
ame_user.gitconfig )

Игнорирование файлов:

На одном уровне с папкой .git создаем текстовый документ: .gitignore (убираем разрешение .txt, то есть сохраняем с All types(.) в Notepad++).

В самом файле указываем игнорирование, например:

$ git rm

Файл name_file.txt станет обратно ( untracked ; от track — следить), то есть вернется в состояние перед командой git add .

СВОЙ РЕДАКТОР ДЛЯ КОММЕНТАРИЕВ

Без ключа –m откроется редактор vim ( 😡 – означает сохранить и выйти).

Поменяем редактрор по умолчанию (vim), он будет открываться в том случае, если мы не прописываем комментарий в командной строке.

Изменения можно проверить в C:Users
ame_user.gitconfig

ВЕТКИ ($ git checkout –b new_branch)

Создаем ветку new_f и тут же переходим в нее.

С использованием –v показывает ветки с последними коммитами.

merge

Чтобы избежать каких-либо недочетов сперва стоит merge -ть рабочую ветку(если она есть) с master , а уже потом на master merge -ть с рабочей (это делается для лучшего выявления конфликтов).

Указываем какой утилитой будем разрешать конфликты

Далее в случае наличия CONFLICT прописываем (этим мы запускаем утилиту):

Ссылка на основную публикацию
Как создать красную строку в ворде
Вопрос о том, как сделать в Word красную строку или, проще говоря, абзац, интересует многих, особенно малоопытных пользователей данного программного...
Как сделать цвет в автокаде
У многих возникает вопрос, «Как в Автокаде сделать белый фон?». На самом деле все очень просто. При начальных настройках пространство...
Как сделать цитату в html
Цитата — дословная выдержка (отрывок) из какого-либо текста с указанием авторства или источника. Цитаты обычно используются на сайтах, где периодически...
Как создать личный кабинет в мтс регистрация
Личный кабинет – это персональный раздел абонента на официальном сайте МТС, предназначенный для управления своим номером телефона и лицевым счетом....
Adblock detector