Как удалить git ubuntu

Обновлено: 04.07.2024

Я добавил файл с именем "file1.txt" в репозиторий Git. После этого я зафиксировал его, добавил пару каталогов с именем dir1 and dir2 и отправил их в репозиторий Git.

Теперь текущее хранилище имеет "file1.txt" , dir1 и dir2 . Как я могу удалить, "file1.txt" не влияя на других, как dir1 и dir2 ?

git rm это правильный ответ, но помните, что файл все еще будет там в истории. Если вы хотите удалить файл, потому что он содержал конфиденциальную информацию, вам нужно сделать что-то более радикальное. (Изменение истории, особенно для контента, который вы уже добавили, является радикальным действием, и его следует избегать, если это возможно.) Примечание: в GitHub вы теперь можете напрямую удалить файл из веб-интерфейса (даже не клонируя репо). Смотрите мой ответ ниже . @KeithThompson, что это может быть, если я отчаянно хочу это сделать?

Если вы хотите удалить файл из репозитория Git и файловой системы , используйте:

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

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

Также удобно: git rm -r directory // Удалить каталог и контент Это не собирается избавляться от этого файла в других коммитах. Обратите внимание, что файл будет удален и локально. Если вы хотите удалить его только из репозитория, выполните: git rm --cached file1.txt Стоит отметить, что если этот файл содержит конфиденциальную информацию (например, учетные данные), вы должны немедленно изменить эти учетные данные . Процитируем GitHub: «После того, как вы отправили коммит в GitHub, вы должны рассматривать любые содержащиеся в нем данные как скомпрометированные. Если вы зафиксировали пароль, измените его! Если вы зафиксировали ключ, сгенерируйте новый».

git rm file.txt удаляет файл из репозитория, но также удаляет его из локальной файловой системы .

Чтобы удалить файл из репозитория и не удалять его из локальной файловой системы, используйте:
git rm --cached file.txt

Ниже приведена точная ситуация, когда я использую git для поддержки контроля версий для веб-сайта моего бизнеса, но каталог «mickey» был папкой tmp для обмена частным контентом с разработчиком САПР. Когда он нуждался в ОГРОМНЫХ файлах, я создал личный, несвязанный каталог и установил там ftpd файлы для его загрузки через браузер. Забыв, что я сделал это, я позже выполнил git add -A из базовой директории сайта. Впоследствии git status показали новые файлы, требующие фиксации. Теперь мне нужно было удалить их из отслеживания git и контроля версий .

Ниже приведен пример того, что случилось со мной, когда я случайно удалил .003 файл. К счастью, мне все равно, что случилось с локальной копией .003 , но некоторые другие в настоящее время измененные файлы были обновлениями, которые я только что сделал на веб-сайте, и они были бы грандиозными, если их удалить в локальной файловой системе! «Локальная файловая система» = живой сайт (не очень хорошая практика, но реальность) .

Обновление: Этот ответ получает некоторый трафик, поэтому я подумал, что упомяну другой мой ответ Git, делится парой отличных ресурсов: На этой странице есть рисунок, который помогает демистифицировать Git для меня. Книга "Pro Git" онлайн и мне очень помогает.

Затем вам нужно будет зафиксировать это с помощью чего-то подобного, git commit -m "Just removing file1.txt" а затем, если у вас есть удаленный репозиторий, протолкнуть коммит с чем-то вроде git push origin master .

Во-первых, если вы используете git rm , особенно для нескольких файлов, учтите, что любой подстановочный знак будет разрешен оболочкой, а не git командой.

Но, если ваш файл уже находится на GitHub, вы можете (с июля 2013 года) напрямую удалить его из веб-интерфейса!

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

Затем " git pull " в вашем локальном репо, и это также приведет к удалению файла локально.
Что делает этот ответ (окольным) способом удаления файла из git repo?
(Не говоря уже о том, что файл на GitHub находится в «git repo»)

кнопка удаления

(фиксация будет отражать удаление этого файла):

совершить удаление

И просто так, это ушло.

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

Примечание. Так как это система контроля версий, Git всегда имеет вашу спину, если вам нужно восстановить файл позже.

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

Git - это консольная утилита, для отслеживания и ведения истории изменения файлов, в вашем проекте. Чаще всего его используют для кода, но можно и для других файлов. Например, для картинок - полезно для дизайнеров.

С помощью Git-a вы можете откатить свой проект до более старой версии, сравнивать, анализировать или сливать свои изменения в репозиторий.

Репозиторием называют хранилище вашего кода и историю его изменений. Git работает локально и все ваши репозитории хранятся в определенных папках на жестком диске.

Так же ваши репозитории можно хранить и в интернете. Обычно для этого используют три сервиса:

Каждая точка сохранения вашего проекта носит название коммит (commit). У каждого commit-a есть hash (уникальный id) и комментарий. Из таких commit-ов собирается ветка. Ветка - это история изменений. У каждой ветки есть свое название. Репозиторий может содержать в себе несколько веток, которые создаются из других веток или вливаются в них.

Как работает

Если посмотреть на картинку, то становиться чуть проще с пониманием. Каждый кружок, это commit. Стрелочки показывают направление, из какого commit сделан следующий. Например C3 сделан из С2 и т. д. Все эти commit находятся в ветке под названием main . Это основная ветка, чаще всего ее называют master . Прямоугольник main* показывает в каком commit мы сейчас находимся, проще говоря указатель.

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

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

Установка

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

Но для начала, все же установим сам Git.

Windows. Проходим по этой ссылке, выбираем под вашу ОС (32 или 64 битную), скачиваем и устанавливаем.

Для Mac OS. Открываем терминал и пишем:

Linux. Открываем терминал и вводим следующую команду.

Настройка

Вы установили себе Git и можете им пользоваться. Давайте теперь его настроим, чтобы когда вы создавали commit, указывался автор, кто его создал.

Открываем терминал (Linux и MacOS) или консоль (Windows) и вводим следующие команды.

Создание репозитория

Теперь вы готовы к работе с Git локально на компьютере.

Создадим наш первый репозиторий. Для этого пройдите в папку вашего проекта.

Теперь Git отслеживает изменения файлов вашего проекта. Но, так как вы только создали репозиторий в нем нет вашего кода. Для этого необходимо создать commit.

Отлично. Вы создали свой первый репозиторий и заполнили его первым commit.

Процесс работы с Git

Не стоит после каждого изменения файла делать commit. Чаще всего их создают, когда:

Создан новый функционал

Добавлен новый блок на верстке

Исправлены ошибки по коду

Вы завершили рабочий день и хотите сохранить код

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

Визуальный интерфейс

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

Но существуют и отдельные программы по работе с Git. Могу посоветовать эти:

Я не буду рассказывать как они работают. Предлагаю разобраться с этим самостоятельно.

Создаем свой первый проект и выкладываем на GitHub

Давайте разберемся как это сделать, с помощью среды разработки Visual Studio Code (VS Code).

Перед началом предлагаю зарегистрироваться на GitHub.

Создайте папку, где будет храниться ваш проект. Если такая папка уже есть, то создавать новую не надо.

После открываем VS Code .

Установите себе дополнительно анализаторы кода для JavaScript и PHP

Откройте вашу папку, которую создали ранее

После этого у вас появится вот такой интерфейс

Здесь будут располагаться все файлы вашего проекта

Здесь можно работать с Git-ом

Кнопка для создания нового файла

Кнопка для создания новой папки

Если ваш проект пустой, как у меня, то создайте новый файл и назовите его index.html . После этого откроется окно редактирование этого файла. Напишите в нем ! и нажмите кнопку Tab . Автоматически должен сгенерироваться скелет пустой HTML страницы. Не забудьте нажать ctrl+s чтобы файл сохранился.

Давайте теперь перейдем во вкладу для работы с Git-ом.

Откроется вот такое окно:

Кнопка для публикации нашего проекта на GitHub

После нажатия на кнопку 1 , появится всплывающее окно. Нужно выбрать второй вариант или там где присутствует фраза . public repository

Если вы хотите создать локальный репозиторий и опубликовать код в другой сервис, то необходимо нажать на кнопку Initialize Repository . После этого, вручную выбрать сервис куда публиковать.

После того, как выбрали "Опубликовать на GitHub публичный репозиторий" (пункт 2), программа предложит вам выбрать файлы, которые будут входить в первый commit. Проставляем галочки у всех файлов, если не проставлены и жмем ОК . Вас перекинет на сайт GitHub, где нужно будет подтвердить вход в аккаунт.

Вы создали и опубликовали репозиторий на GitHub.

Теперь сделаем изменения в коде и попробуем их снова опубликовать. Перейдите во вкладку с файлами, отредактируйте какой-нибудь файл, не забудьте нажать crtl+s (Windows) или cmd+s (MacOS), чтобы сохранить файл. Вернитесь обратно во вкладу управления Git.

Если посмотреть на значок вкладки Git, то можно увидеть цифру 1 в синем кружке. Она означает, сколько файлов у нас изменено и незакоммичено. Давайте его закоммитим и опубликуем:

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

Добавляем наш файл для будущего commit

Отправляем наш commit в GitHub

Поздравляю, вы научились создавать commit и отправлять его в GitHub!

Это первая вводная статья по утилите Git. Здесь мы рассмотрели:

Как его устанавливать

Как его настраивать

Как инициализировать репозиторий и создать commit через консоль

Как на примере VS Code, опубликовать свой код на GitHub

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

P.S. Для облегчения обучения, оставлю вам ссылку на бесплатный тренажер по Git.

В телеграмм канале Step by Step , я публикую еще больше материала и провожу обучающие стримы, для всех желающих.

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

git хранит все свои файлы в . Просто удалите этот и init снова.

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

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

откройте терминал (через Spotlight: нажмите CMD + SPACE , тип terminal и нажать Enter ) и выполните эту команду: defaults write com.apple.finder AppleShowAllFiles 1 && killall Finder .

или вы также можете ввести cd (пространство важно), перетащите папку git repo из Finder в окно терминала, нажмите возвращение тип rm -fr .git , потом возвращение снова.

в Ubuntu, используйте сочетание клавиш Ctrl + H .

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

обычные условия о rm -rf применить. Убедитесь, что у вас есть актуальная резервная копия и вы абсолютно уверены, что находитесь в нужном месте перед запуском команды. так далее., п.

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

Это также удалит все .git папки и .gitignore файлы из всех подпапок

альтернатива убийству TortoiseGit:

  • откройте TortoiseGit-Settings (щелкните правой кнопкой мыши любую папку, TortoiseGit → Settings)
  • перейти к Наложение.
  • изменить Статус С по умолчанию to нет
  • теперь вы можете удалить каталог (либо с помощью Проводника Windows, либо rmdir /S /Q )
  • на Статус от нет to по умолчанию и вы снова должны быть в порядке.

cd в каталог, из которого git необходимо удалить и запустить команду

Mac OS или любой дистрибутив Linux

где $GIT_DIR-путь к папке для поиска(путь РЕПО git), выполните следующее в терминале.

это будет рекурсивно искать любые каталоги или файлы, содержащие ".git " в имени файла/каталога в указанном каталоге git. Это будет включать .git / and .файлы gitignore и любые другие .ГИТ-как активы. Команда является интерактивной и будет запрашивать перед удалением. Чтобы продолжить удаление, просто введите y, затем введите.

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

здесь rm означает удалить, -rf означает рекурсивную силу и .git - это РЕПО / файл, который вы хотите удалить. Пожалуйста, будьте осторожны при использовании этой команды. Если бы вы попытались rm -rf любые другие файлы или папки, они могут быть удалены. Никогда не запускайте это на рабочем столе. Ты можешь стереть всю свою работу. Будьте осторожны при использовании этой команды.

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

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

Я ничего не могу сделать, чтобы снова ввести пароль.

как я могу сбросить учетные данные в моей системе, чтобы Git попросил у меня пароль этого репозитория?

для того чтобы сбросить пароль

во избежание кэширования учетных данных.

кажется, ничего не работает; у кого-нибудь есть идея получше?

кэш учетных данных Git запускает процесс демона, который кэширует ваши учетные данные в памяти и передает их по требованию. Таким образом, убийство вашего процесса git-credential-cache-daemon выбрасывает все это и приводит к повторному запросу пароля, если вы продолжаете использовать его в качестве кэша.вспомогательный вариант.

вы также можете отключить использование кэша учетных данных Git с помощью git config --global --unset credential.helper . Затем сбросьте это, и вы продолжите иметь кэшированные учетные данные, доступные для других репозитории (если есть). Вам также может потребоваться сделать git config --system --unset credential.helper если это было задано в файле конфигурации системы (например, Git для Windows 2).

В Windows вам может быть лучше использовать менеджер помощник ( git config --global credential.helper manager ). Это хранит ваши учетные данные в хранилище учетных данных Windows, который имеет интерфейс панели управления, где можно удалить или изменить сохраненные учетные данные. В этом магазине ваши данные защищены вашим логином Windows и могут сохраняться в течение нескольких проведение сессий. The менеджер помощник, включенный в Git для Windows 2.x заменил предыдущее wincred помощник, который был добавлен в Git для Windows 1.8.1.1. Подобный помощник называется магазине приложений также доступен онлайн и использовался с GitExtensions, поскольку он предлагает более управляемый интерфейс GUI. The менеджер helper предлагает тот же интерфейс GUI, что и магазине приложений.

выписка из руководство по Windows подробно Панель хранилища учетных данных Windows:

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

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

  • перейти к менеджеру учетных данных
  • перейти к учетным данным Windows
  • удалить записи в разделе Общие учетные данные
  • повторите попытку подключения. На этот раз он должен запросить у вас правильное имя пользователя и пароль.

Go to Credential Manager

Go to Windows Credentials and Delete the entries under Generic Credentials

и затем вам будет предложено снова ввести свои учетные данные.

предупреждение

использование этого помощника сохранит ваши пароли незашифрованными на диске

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

всякий раз, когда я выполнял git push это было мое старое имя пользователя, которое я установил давно, и я хотел использовать новую учетную запись GitHub для внесения изменений. Позже я обнаружил, что мои старые учетные данные учетной записи GitHub хранятся под Панель УправленияУчетные Записи ПользователейДиспетчер Учетных ДанныхУправление Учетными Данными Windows.

Manage Windows Credentials

Я просто удалил эти учетные данные и когда я выполнил git push он попросил у меня мои учетные данные GitHub, и это сработало как шарм.

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

здесь вы можете получить различные опции для управления учетными данными (проверьте экран ниже).

Enter image description here

или вы даже можете напрямую попробовать этот команду:

это снова начнет запрашивать пароли для каждого запроса взаимодействия с сервером.

в моем случае Git использует Windows для хранения учетных данных.

все, что вам нужно сделать, это удалить сохраненные учетные данные, хранящиеся в вашей учетной записи Windows:

Windows credentials menu

Я нашел то, что работал для меня. Когда я писал свой комментарий к OP, мне не удалось проверить файл конфигурации системы:

линии. Я снимаю его с

и теперь учетные данные будут забыты.

покажет credential.helper = manager (это на машине windows)

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

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

необходимо войти в систему с соответствующим github username и password

чтобы очистить имя пользователя и пароль в windows

Панель Управления\Учетные Записи Пользователей\Диспетчер Учетных Данных

редактировать учетные данные windows

удалите существующего пользователя и теперь перейдите в командную строку напишите команду push, она показывает всплывающее окно github для ввода username / email и password .

теперь мы можем нажать кода после переключение пользователей.

  • cmdkey /list выводит список всех сохраненных учетных данных.
  • cmdkey /delete:Target удаляет учетные данные с именем" Target".

cmdkey /list; cmdkey /delete:Target

(*под "wincred" я имею в виду git config --global credential.helper wincred )

удалите эту строку из вашей .файл gitconfig, расположенный в текущей папке пользователя Windows:

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

Вы можете удалить строку credential.helper=!github --credentials из файла C:\Program Files\Git\mingw64\etc\gitconfig для удаления учетных данных для git

в случае диспетчер учетных данных Git для Windows используется (что обычно делают текущие версии):

Это добавлена середина 2016. Чтобы проверить, используется ли диспетчер учетных данных:

в моем случае я не смог найти учетные данные, сохраненные в Диспетчере учетных данных Windows (Windows 7).

я смог сбросить свои учетные данные, выполнив

честно говоря, это был град Марии, чтобы увидеть, если это уничтожит мои учетные данные, и это действительно сработало.

Читайте также: