Удалить каталог из удаленного репозитория после добавления их в .gitignore

Создание пары ключей SSH

Для начала нужно сгенерировать пару ключей SSH. В системах Mac или Linux для этого достаточно просто ввести следующие команды в терминал (замените адрес электронной почты в коде своим реальным адресом):

Настоятельно рекомендуется установить пароль на файлы ключей, поскольку это обеспечивает дополнительный  уровень безопасности. В операционных системах Windows есть отдельные инструменты для генерации пары ключей, например, PuTTY Gen. Но эта программа запрещена в некоторых странах, а потому она идет с оговоркой о необходимости согласовать ее использование с местным законодательством. Уточнив этот момент, можно войти на VPS, создать пару ключей, и скачать id_rsa и id_rsa.pub.

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

Зачем нужно удалять плохие репозитории GitHub

Вы же не хотите представлять грязный GitHub потенциальным работодателям во время поиска работы. Плохие репозитории, полные практического кода, или расплывчатые незавершенные проекты не дают хорошего представления о ваших способностях.

Кроме того, это может заставить потенциальных клиентов усомниться в вашей компетентности.

Эти проблемы могут не относиться к вам, если вы не используете GitHub профессионально. Но если вы планируете серьезно подойти к своим рабочим процессам и представить более профессиональный GitHub, вам следует очистить свои репозитории. Вы можете начать с удаления тех, которые не добавляют ценности вашим учетным данным GitHub.

Глобальный .gitignore

Git также позволяет вам создать глобальный файл , в котором вы можете определить правила игнорирования для каждого Git-репозитория вашей локальной системы.

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

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

1. Создайте файл:

2. Добавьте этот файл в Git-конфигурацию:

3. Откройте файл в текстовом редакторе и добавьте в него свои правила.

Глобальные правила особенно полезны при игнорировании определенных файлов, которые вы никогда не захотите фиксировать, таких как файлы с конфиденциальной информацией или скомпилированные исполняемые файлы.

Доступ к GitLab по ssh

Перейдите в домашнюю директорию и сгенерируйте ключ с помощью

ssh keygen

cd

ssh-keygen -t rsa -b 2048

Ключ проще всего назвать

gitlab_com_rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Andrei/.ssh/id_rsa): gitlab_com_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in gitlab_com_rsa
Your public key has been saved in gitlab_com_rsa.pub
The key fingerprint is:
SHA256:wAhrNr63vvUrQvhP6dbekTHlk6wtP7Y+fIJWnpLyCQN Andrei@DESKTOP-OP43ER5
The key&339;s randomart image is:
+——-+
| . . |
| 2 = + . |
|E * = = |
| . + . B . |
| … =+ S |
| .. .. =. |
| .o..*=+ |
| ..=J=*+o. |
| +PP=+*= |
+———+

Создайте файл

config

touch ~/.ssh/config

vi ~/.ssh/config

Копируем содержимое ключа в буфер.

В

Windows

GitBash

cat ~/.ssh/gitlab_com_rsa.pub | clip

В

Linux

если стоит
xclip

xclip -sel clip < ~/.ssh/gitlab_com_rsa.pub

GitLab.com

Пример

Теперь можно клонировать из GitLab по SSH

mkdir test

cd test

git init

touch .gitignore

git clone git@gitlab.com:ВАШ_АККАУНТ/ИМЯ_ПРОЕКТА.git

Как удалить локальный репозиторий Git и удалить репозиторий удаленного репозитория Git на GitHub

http-equiv=»Content-Type» content=»text/html;charset=UTF-8″>style=»clear:both;»>

1. Удалите локальный склад Git.

Основной принцип удаления локального хранилища Git заключается в удалении скрытой папки «.git» в корневом каталоге «локального хранилища Git».

(1) Метод 1. Вручную удалите скрытую папку «.git» в корневом каталоге в «Git Local Warehouse» (как показано на рисунке выше).

(2) Метод 2: вызовите командную строку в каталоге локального хранилища, чтобы удалить папку .git в корневом каталоге, введите

(3) Проверьте, успешно ли удален локальный склад: введите каталог хранилища в Gitbash, если в конце каталога нет «(мастер)», это означает, что локальный склад был успешно удален.

2. Удалите удаленный репозиторий Git на GitHub.

(1) Введите «rm -rf + адрес хранилища github» в командной строке, например

Значение команды: удалить удаленный склад Git «LearningGit» из «индивидуального пользователя jedlee6» в сообществе Github

Подробная команда: rm полное имя: rm — это команда remove, -rf — это параметр рекурсивно и принудительно

Команда remove: удалить один или несколько файлов или каталогов в каталоге

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

Принудительный вариант: игнорировать файлы, которые не существуют, никогда не выдавать подсказку «файл не существует» (удалить файл, если файл не существует, появится сообщение «файл не существует»)

Option-rf: при использовании нескольких параметров команды ввод можно упростить. Например, команда ls -r -f сокращенно обозначается ls -rf. Таким образом, опция -rf представляет собой комбинацию опции -r и опции -f. Опция -rf function: удалить все файлы в текущем каталоге, эта команда очень опасна, и ее следует избегать

(2) Зайдите в Настройки на соответствующем складе github, проведите пальцем вниз по странице настроек, найдите последний подпункт «Зона опасности», удалите библиотеку

Интеллектуальная рекомендация

1. Для реальных сигналов (для понимания): A (ω) является соотношением амплитуды выходного сигнала и амплитуды входного сигнала, называемого частотой амплитуды. Φ (ω) — это разница межд…

Один. вести Многие люди задавали некоторые вопросы о создании проекта Flex + LCDS (FDS) в сообщениях и группах. Из-за операции ее трудно четко объяснить, поэтому я написал простой учебник (я обещал эт…

package com.example.phonehttp; import android.os.Bundle; import android.os.Handler; import android.app.Activity; import android.widget.ScrollView; import android.widget.TextView; public class MainActi…

Он предназначен для реализации подкласса того же родительского класса с родительским классом. Полиморфизм Один и тот же ссылочный тип использует разные экземпляры для выполнения разных операций; Идея …

тема: Объедините два упорядоченных слоя в новый заказанный список и возврат. Новый список состоит из всех узлов двух связанных списков, данных сплавным. Пример: Анализ: два связанных списка состоит в …

Вам также может понравиться

D. Самая ценная строка Пример ввода 2 2 aa aaa 2 b c Образец вывода aaa c На самом деле, будучи задетым этим вопросом, вы должны быть осторожны. После инвертирования строки, если две строки имеют один…

Given a 2D integer matrix M representing the gray scale of an image, you need to design a smoother to make the gray scale of each cell becomes the average gray scale (rounding down) of all the 8 surro…

calc () может быть очень незнакомым для всех, и трудно поверить, что calc () является частью CSS. Поскольку он выглядит как функция, почему он появляется в CSS, поскольку это функция? Этот момент такж…

Основываясь на дереве регрессии, сформированном CART, а также на предварительной и последующей обрезке дерева, код выглядит следующим образом:…

Откат Обновление в режиме онлайн с версии Centos (CentOS Linux версии 7.3.1611 (Core) до CentOS Linux версии 7.5.1804 (Core)) # ошибка соединения yum-ssh после обновления yexpected key exchange group …

Клонирование существующего репозитория

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

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

Для клонирования существующего репозитория понадобится ввести git clone <url>. Пример такой команды вы видите ниже:

git clone https://github.com/rep/rep

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

При использовании вышеуказанной команды репозиторий клонируется с текущим названием. Если же оно должно отличаться, используйте следующую вариацию команды:

git clone https://github.com/rep/rep myrep

Завершим этот раздел статьи описанием содержимого, которое появляется в консоли при выполнении команды. Данный вывод соответствует успешному клонированию:

Cloning into 'Git'...

remote: Counting objects: 46, done.

remote: Compressing objects: 100% (25/25), done.

remote: Total 46 (delta 7), reused 43 (delta 4), pack-reused 0

Unpacking objects: 100% (46/46), done.

Checking connectivity... done.

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

Чтобы инициализировать Git в репозитории, вам просто нужно ввести следующую команду. Если вы не инициализируете Git, вы не сможете запускать другие команды Git в этом репозитории.

Если вы используете GitHub и отправляете код в репозиторий GitHub, который хранится в Сети, вы используете удаленный репозиторий. Имя, установленное по умолчанию для этого удаленного репозитория, называется origin (источник), он же alias (псевдоним). Если вы скопировали проект из GitHub, у него уже есть источник. Вы можете просмотреть этот источник с помощью команды git remote -v. Она выдаст вам URL-адрес удаленного репозитория.

Если вы инициализировали свой репозиторий Git и хотите связать его с репозиторием на GitHub, вам придется создать его на GitHub, скопировать предоставленный URL-адрес и использовать команду git remote add origin <URL>, где <URL> — ссылка на репозиторий GitHub. Оттуда вы можете добавлять, коммитить и пушить в удаленный репозиторий.

Допустим, вы скопировали чей-то удаленный репозиторий и хотите изменить его владельца на свою учетку GitHub. Схема такая же, как с git remote add origin, с одним дополнением: используйте set-url, чтобы изменить удаленный репозиторий.

Самый распространенный способ скопировать репозиторий — через git clone с указанием URL.

Имейте в виду, что удаленный репозиторий будет связан с учетной записью, из которой вы его клонировали. Поэтому если вы скопировали чей-то репозиторий, вы не сможете отправить его на GitHub, пока не измените источник, используя приведенные выше команды.

Вы быстро поймете, что ветки — это удобно. Если вы не знаете, что это такое, поищите руководство по этой теме. Это понадобится в дальнейшем.

Команда git branch перечислит все ветки на вашем компьютере. Если вы хотите создать новую ветку, можете использовать команду git branch <name>, где <name> — имя ветки (например, master).

Команда git checkout <name> переключит на существующую ветку. Поэтому чтобы создать новую ветку и сразу же переключиться на нее, можете использовать команду git checkout -b <name>. Обычно эту команду используют, чтобы не писать отдельно git branch, а отдельно git checkout.

Если вы внесли кучу изменений в ветку и хотите смержить ее в основную ветку (назовем ее develop), используйте команду git merge <branch>. Если захочется при этом сначала провести checkout основной ветки, тогда запустите git merge develop, чтобы смержить develop в основную ветку.

Если вы работаете еще с кем-то, может случиться так, что репозиторий обновили на GitHub, но у вас изменения не появились.  В этом случае используйте git pull origin <branch>, чтобы получить последние изменения указанной удаленной ветки.

Если вам интересно узнать, какие файлы изменили, можете использовать git status. Если вы хотите увидеть, насколько сильно был изменен файл, используйте git diff, чтобы увидеть количество измененных строк.

Что происходит при удалении удаленного репозитория?

Удаление репозитория на GitHub похоже на полное удаление файла с вашего ПК. Однако при удалении удаленного репозитория следует учитывать следующее:

  • Вы не можете получить удаленный репозиторий.
  • Удаление удаленного репозитория не влияет на файлы проекта локально.
  • Это также не влияет на ваш локальный репозиторий.
  • Все комментарии, пакеты, рабочий процесс и администраторы удаляются вместе с ним.
  • Удаленный репозиторий не может быть разветвлен.

Учитывая последствия удаления репозитория GitHub, вы можете передумать. Однако GitHub также позволяет вам архивировать репозитории вместо их удаления.

Вы можете получить доступ к этой опции, щелкнув Архивировать этот репозиторий в зоне опасности .

Удаление файлов из git репозитория и из stage

Удаление файла из stage

Вначале разберемся со stage. Создадим ещё один файл.

> touch main.c

“Отправим” файл main.c в stage.

> git add main.c

Внесем изменения в README.md.

> echo "# README" > README.md

Информацию об этом также отправим в stage.

> git add README.md

Посмотрим на состояние stage.

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

        modified:   README.md
        new file:   main.c

Если нам необходимо убрать из stage, какой-то из этих файлов (main.c или README.md), то для этого можно воспользоваться командой git –rm cashed <filename>, сделаем это для файла main.c.

> git rm --cached main.c
rm 'main.c'

Теперь посмотрим на состояние рабочей директории и stage.

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

        modified:   README.md

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        main.c

Видно, что изменения в файле README.md готовы для коммита, а вот файл main.c перешел в состояние – неотслеживаемый. Отправим main.c в stage и, после этого, сделаем коммит в репозиторий.

> git add main.c
> git commit -m "add main.c and do some changes in README.md"
 add main.c and do some changes in README.md
 2 files changed, 1 insertion(+)
 create mode 100644 main.c

Удаление файлов из git репозитория

Удалить файл из репозитория можно двумя способами: первый – удалить его из рабочей директории и уведомить об этом git; второй – воспользоваться средствами git. Начнем с первого способа. Для начала посмотрим, какие файлы у нас хранятся в репозитории.

> git ls-tree master
100644 blob 7e59600739c96546163833214c36459e324bad0a    README.md
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391    main.c

Удалим файл main.c из рабочей директории.

> rm main.c
> ls
README.md

Уведомим об этом систему git.

> git rm main.c
rm 'main.c'

Вместо команды git rm можно использовать git add, но само слово add в данном случае будет звучать несколько неоднозначно, поэтому лучше использовать rm. На данном этапе еще можно вернуть все назад с помощью команды git checkout — <filename>, в результате, в нашу рабочую директорию будет скопирован файл из репозитория. Создадим коммит, фиксирующий удаление файла.

> git commit -m "remove main.c"
 remove main.c
 1 file changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 main.c

Теперь в репозитории остался только один файл README.md.

> git ls-tree master
100644 blob 7e59600739c96546163833214c36459e324bad0a    README.md

Второй способ – это сразу использовать команду git rm без предварительного удаления файла из директории. Вновь создадим файл main.c и добавим его в репозиторий.

> touch main.c
> git add main.c
> git commit -m "add main.c file"
 add main.c file
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 main.c
> git ls-tree master
100644 blob 7e59600739c96546163833214c36459e324bad0a    README.md
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391    main.c

Удалим файл из репозитория.

> git rm main.c
rm 'main.c'

> git commit -m "deleted: main.c file"
 deleted: main.c file
 1 file changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 main.c

Файла main.c больше нет в репозитории.

> git ls-tree master
100644 blob 7e59600739c96546163833214c36459e324bad0a    README.md

Его также нет и в рабочем каталоге.

> ls
README.md

Удалите файл README.md из репозитория самостоятельно.

Выводы

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

  • Использовать программы с графическим интерфейсом для работы git. Они наглядно показывают какие файлы будут добавлены в коммит. Во всех средах разработки как правило есть либо дополнения, либо встроенные средства для работы с git которые помогают избежать таких ошибок. Если среда разработки которую вы используете не имеет средств работы с git, то есть графические интерефейсы. Я когда-то писал небольшой обзор графических интерфейсов для git;
  • Избегать таких опасных команд как , и . Вместо них добавлять отдельные файлы с ;
  • Использовать чтобы интерактивно просматривать и добавлять файлы;
  • Перед добавлением файлов внимательно просматривать какие файлы были изменены и могут попасть в коммит .

Полезные ссылки:

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: