Git снизу вверх

Как создать репозиторий Github и клонировать репозиторий в локальную систему (Mac)

Эта команда предназначена для получения файлов и их компиляции:

например:

Однако, (или любая другая команда git) затем дает указанное выше ошибка.

Что я делаю не так?

6 Зарегистрированный код находится в liggghts каталог.

Вы должны сначала войти в каталог:

  • 3 Вы также получаете эту ошибку, когда git помещает свой собственный каталог .git. Я потянул и увидел сообщение «Автоматическая упаковка репозитория в фоновом режиме для оптимальной производительности». Затем я попытался выполнить еще несколько операций, но получил только сообщение об ошибке OP. Моя папка .git все еще существует, но git каким-то образом ее испортил. Бег исправил проблему.
  • 2 Как я глуп. Пробуем git status перед тем, как перейти в каталог :) Большое вам спасибо.

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

Это инициализирует каталог для git. затем а также должно сработать.

До или после клона? Будет ли это создавать новое репозиторий git? Как это будет работать с существующим репозиторием git и клонированной историей? Что происходит с оригиналом remote установка в соответствии с этой договоренностью?

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

Это также сломало все мои локальные репозитории в SourceTree :(

Иногда это из-за ssh. Итак, вы можете использовать это:

вместо того:

Я получал ошибку, просто пытаясь клонировать репо на мою локальную машину. Я переключился с https: // на git: //, и он был успешно клонирован. Спасибо, что указали мне в правильном направлении.

в моем случае у меня была такая же проблема, когда я пробовал любые команды git (например, git status) с помощью windows cmd. Итак, что я делаю, так это после установки git для окна https://windows.github.com/ в переменных среды, добавляю путь к классу git в переменную «PATH». обычно git устанавливается на добавьте это в PATH в переменную окружения

и еще одна вещь в cmd, перейдите в ваш репозиторий git или cd туда, где ваш клон находится в вашем окне, обычно они будут храниться в документах под github

после этого у вас могут быть любые команды git

У меня была другая проблема. Я был в каталоге git, но попал туда по символической ссылке. Мне пришлось зайти в каталог напрямую (т.е. не через символическую ссылку), тогда все заработало.

вы должны «cd projone»

тогда вы можете проверить статус.

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

Эта ошибка была устранена, когда я попытался инициализировать git с помощью git init . Это сработало

В моем случае исходный репозиторий был пустым.

Итак, мне пришлось ввести (в окнах):

Чтобы проверить, является ли репозиторий пустым:

Просто после того, как вы клонируете репо, вам нужно cd (смените текущий каталог) в новую клонированную папку

Если существующее проектное решение планируется перенести на TSF в VS Code:

откройте Терминал и выполните следующие команды:

  1. Инициализировать git в этой папке (корневой каталог)

  2. Добавить Git

  3. Ссылка на сайт ваш TSf / Git в этот проект — {url} замените на свой адрес git

  4. Зафиксировать эти изменения:

  5. От себя — Я отправил код как версию 1, вы можете использовать любое имя для своей ветки

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

Для меня оказалось у меня скрытый файл на моем рабочем столе с контентом:

Удалил этот файл и исправил.

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

Основы работы с удаленным репозиторием¶

git clone — создание копии (удаленного) репозитория

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

Клонируем репозиторий, используя протокол http:

git clone http://user@somehost:port/~user/repository/project.git

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

git clone /home/username/project myrepo

Клонируем репозиторий, используя безопасный протокол ssh:

git clone ssh://user@somehost:port/~user/repository

У git имеется и собственный протокол:

git clone git://user@somehost:port/~user/repository/project.git/

Импортируем svn репозиторий, используя протокол http:

git svn clone -s http://repo/location

-s

git fetch и git pull — забираем изменения из центрального репозитория

Для синхронизации текущей ветки с репозиторием используются команды git fetch и git pull.

git fetch — забрать изменения удаленной ветки из репозитория по умолчания, основной ветки; той, которая была использована при клонировании репозитория. Изменения обновят удаленную ветку (remote tracking branch), после чего надо будет провести слияние с локальной ветку командой git merge.

git fetch /home/username/project — забрать изменения из определенного репозитория.

Возможно также использовать синонимы для адресов, создаваемые командой :

git remote add username-project /home/username/project

git fetch username-project — забрать изменения по адресу, определяемому синонимом.

Естественно, что после оценки изменений, например, командой , надо создать коммит слияния с основной:

git merge username-project/master

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

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

git pull

Забрать изменения и метки из определенного репозитория:

git pull username-project --tags

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

git push — вносим изменения в удаленный репозиторий

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

Отправить свои изменения в удаленную ветку, созданную при клонировании по умолчанию:

git push

Отправить изменения из ветки master в ветку experimental удаленного репозитория:

git push ssh://yourserver.com/~you/proj.git master:experimental

В удаленном репозитории origin удалить ветку experimental:

git push origin :experimental

В удаленную ветку master репозитория origin (синоним репозитория по умолчанию) ветки локальной ветки master:

git push origin master:master

Отправить метки в удаленную ветку master репозитория origin:

git push origin master --tags

Изменить указатель для удаленной ветки master репозитория origin (master будет такой же как и develop)

git push origin origin/develop:master

Добавить ветку test в удаленный репозиторий origin, указывающую на коммит ветки develop:

git push origin origin/develop:refs/heads/test

Branches

A branch is a copy of the files in the repository at the time you create the branch.
You can work in your branch without affecting other branches. When
you’re ready to add your changes to the main codebase, you can merge your branch into
the
default branch, for example, .

Use branches when you:

  • Want to add code to a project but you’re not sure if it works properly.
  • Are collaborating on the project with others, and don’t want your work to get mixed up.

A new branch is often called feature branch to differentiate from the
default branch.

Create a branch

To create a feature branch:

Branch names cannot contain empty spaces and special characters. Use only lowercase letters, numbers,
hyphens (), and underscores ().

Switch to a branch

All work in Git is done in a branch.
You can switch between branches to see the state of the files and work in that branch.

To switch to an existing branch:

For example, to change to the branch:

Add and commit local changes

When you type , locally changed files are shown in red. These changes may
be new, modified, or deleted files or folders.

  1. To stage a file for commit:

  2. Repeat step 1 for each file or folder you want to add.
    Or, to stage all files in the current directory and subdirectory, type .

  3. Confirm that the files have been added to staging:

    The files should be displayed in green text.

  4. To commit the staged files:

Stage and commit all changes

As a shortcut, you can add all local changes to staging and commit them with one command:

Send changes to GitLab.com

To push all local changes to the remote repository:

For example, to push your local commits to the branch of the remote:

Sometimes Git does not allow you to push to a repository. Instead,
you must .

Delete all changes in the branch

To discard all changes to tracked files:

This action removes changes to files, not the files themselves.
Untracked (new) files do not change.

Undo most recent commit

To undo the most recent commit:

This action leaves the changed files and folders unstaged in your local repository.

cautionA Git commit should not be reversed if you already pushed it
to the remote repository. Although you can undo a commit, the best option is to avoid
the situation altogether by working carefully.

You can learn more about the different ways Git can undo changes in the
Git Undoing Things documentation.

Merge a branch with default branch

When you are ready to add your changes to
the default branch, you merge the feature branch into it:

In GitLab, you typically use a merge request to merge your changes, instead of using the command line.

To create a merge request from a fork to an upstream repository, see the
forking workflow.

init

Начать отслеживать изменения — инициализаци или начало работы Git

$ git init

Initialized empty Git repository in C:/Users/aolegovich/Desktop/Sites/hello-world/.git/

По умолчанию репозиторий хранится в подкаталоге с названием «.git» в
корневом каталоге рабочей копии дерева файлов, хранящегося в репозитории.

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

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

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

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

Можно настроить ваш терминал
bash
или zsh так, чтобы он показывал вам
с каким именно репозиторием вы работаете и какая ветка активна.. Создать файл

Создать файл

$ touch index.html

Удаление локального Git-репозитория

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

В корне каталога с проектом необходимо избавиться от папки .git, о которой уже шла речь выше. Так вы удаляете только ту информацию, которая связана с Git, но сам проект остается. В Linux через Терминал вы должны перейти к каталогу с проектом и ввести следующую команду:

rm -rf .git

Еще один вариант – удаление .gitignore и .gitmodules в случае их наличия. Тогда команда меняет свой вид на:

rm -rf .git*

Остается только убедиться в отсутствии скрытой папки, которая может помешать инсталляции новой. Для этого существует простая команда ls -lah, выполнить которую необходимо с указанием того же каталога. 

Только что мы разобрались с основами создания, клонирования и удаления Git-репозитория. Удачи! 

Cloning an empty repository

An empty repository contains no files. It’s often made if you don’t initialize the repository with a README when creating it.

  1. On GitHub.com, navigate to the main page of the repository.

  2. To clone your repository using the command line using HTTPS, under «Quick setup», click . To clone the repository using an SSH key, including a certificate issued by your organization’s SSH certificate authority, click SSH, then click .

    Alternatively, to clone your repository in Desktop, click Set up in Desktop and follow the prompts to complete the clone.

  3. Open .

  4. Change the current working directory to the location where you want the cloned directory.

  5. Type , and then paste the URL you copied earlier.

  6. Press Enter to create your local clone.

git push — вносим изменения в удаленный репозиторий

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

Отправляет свои изменения в удаленную ветку, созданную при клонировании по
умолчанию:

Отправляет изменения из ветки master в ветку experimental удаленного репозитория:

В удаленном репозитории origin удаляет ветку experimental:

Отправляет в удаленную ветку master репозитория origin (синоним репозитория по
умолчанию) ветки локальной ветки master:

Отправляет метки в удаленную ветку master репозитория origin:

Изменяет указатель для удаленной ветке master репозитория origin (master будет
такой же как и develop):

Добавляет ветку test в удаленный репозиторий origin, указывающую на коммит ветки
develop:

git init Gone Wrong

in the wrong directory

Running in the wrong place will create unintended repositories. You may have noticed strange error messages when using Git. Maybe you suspect that another parent directory is also a Git repository.

To fix this, you first need to track down which directory is the unintended repository. Use to see if the current directory is tracked by Git. If it is, you can either run and look for an otherwise hidden directory.

If you don’t see it, navigate one level up in the directory structure with . Use again in combination with . Repeat this until you find the directory.

Once you find the directory, and you are sure that you don’t want that to be a Git repository, use . This will remove the directory, effectively un-initializing that repository. Run again to confirm that Git is no longer tracking any of these files. (It could be possible that multiple layers of directories are present.)

Return to your working repository, the one that you expect to be under version control. Things should be working as expected.

git fetch и git pull — забираем изменения из центрального репозитория

Для синхронизации текущей ветки с репозиторием используются команды git fetch
и git pull.

git fetch — забирает изменения удаленной ветки из репозитория по умолчания,
основной ветки; той, которая была использована при клонировании репозитория.
Изменения обновят удаленную ветку (remote tracking branch), после чего надо будет
провести слияние с локальной ветку командой git merge.

Получает изменений из определенного репозитория:

Возможно также использовать синонимы для адресов, создаваемые командой git remote:

Естественно, что после оценки изменений, например, командой git diff, надо
создать коммит слияния с основной:

Команда git pull сразу забирает изменения и проводит слияние с активной веткой.
Забирает из репозитория, для которого были созданы удаленные ветки по умолчанию:

Забирает изменения и метки из определенного репозитория:

Как правило, используется сразу команда git pull.

13 ответов

Лучший ответ

Вам нужно сначала войти в каталог:

176

Michael Durrant
14 Авг 2012 в 22:19

У меня такая же проблема в моей офисной сети. Я использую эту команду, но у меня она не работает url, Ну вот так: раньше

После я использую этот URL: попробуй.

Om Prakash Sharma
19 Апр 2019 в 05:49

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

Для меня оказалось, что у меня на рабочем столе есть скрытый файл с содержанием:

Удалил этот файл и исправил.

Mikael Finstad
4 Окт 2018 в 19:39

Просто после клонирования репо вам нужно cd (изменить текущий каталог) в новую клонированную папку.

1

Abdallah Okasha
10 Июл 2017 в 13:16

Если существующее проектное решение планируется перенести на TSF в VS Code:

Откройте Терминал и выполните следующие команды:

  1. Инициализировать git в этой папке (корневой каталог)

  2. Добавить Git

  3. Свяжите свой TSf / Git с этим проектом — {url} замените своим адресом git

  4. Зафиксируйте эти изменения:

  5. Нажать — я отправил код как версию 1, вы можете использовать любое имя для своей ветки.

2

Khushboo Tahir
17 Июн 2020 в 08:46

В моем случае исходный репозиторий был пустым.

Итак, мне пришлось ввести (в окнах):

Чтобы проверить, является ли репозиторий пустым:

2

Madlozoz
9 Авг 2017 в 10:39

Эта ошибка была устранена, когда я попытался инициализировать git с помощью git init . Это сработало

3

Roopal
26 Янв 2019 в 21:51

Вы должны «cd projone»

Тогда вы можете проверить статус.

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

3

Andre Figueiredo
2 Окт 2017 в 18:41

У меня была другая проблема. Я был в каталоге git, но попал туда по символической ссылке. Мне пришлось зайти в каталог напрямую (т.е. не через символическую ссылку), тогда все заработало.

3

Frank Conry
14 Авг 2014 в 16:56

И еще одна вещь в cmd, перейдите в ваш репозиторий git или cd туда, где ваш клон находится в вашем окне, обычно они будут храниться в документах под github

После этого вы можете использовать любые команды git

4

EricSchaefer
11 Авг 2014 в 17:45

Иногда это из-за ssh. Итак, вы можете использовать это:

Вместо того:

9

Umit Kaya
19 Дек 2016 в 03:44

В моем случае это была переменная среды , которую я добавил для более быстрого доступа.

Это также сломало все мои локальные репозитории в SourceTree :(

11

lucasvc
2 Окт 2015 в 09:15

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

Это инициализирует каталог для git. Тогда и должны работать.

15

Syden
11 Янв 2017 в 00:08

git fetch и git pull — забираем изменения из центрального репозитория

Для синхронизации текущей ветки с репозиторием используются команды git fetch
и git pull.

git fetch — забирает изменения удаленной ветки из репозитория по умолчания,
основной ветки; той, которая была использована при клонировании репозитория.
Изменения обновят удаленную ветку (remote tracking branch), после чего надо будет
провести слияние с локальной ветку командой git merge.

Получает изменений из определенного репозитория:

Возможно также использовать синонимы для адресов, создаваемые командой git remote:

Естественно, что после оценки изменений, например, командой git diff, надо
создать коммит слияния с основной:

Команда git pull сразу забирает изменения и проводит слияние с активной веткой.
Забирает из репозитория, для которого были созданы удаленные ветки по умолчанию:

Забирает изменения и метки из определенного репозитория:

Как правило, используется сразу команда git pull.

Как использовать команду git Clone

Клонирование в Git может быть сделано на собственном репозитории или в любом другом репозитории.

Как клонировать репозиторий или использовать команду git Clone?

Клонирование репозитория из GitHub — это простой процесс. Но, прежде чем клонировать, пожалуйста, убедитесь, что у вас есть репозиторий на вашем аккаунте GitHub.

Чтобы клонировать репозиторий, перейдите на страницу репозитория, которую вы хотите клонировать. Это можно сделать с помощью боковой колонки на приборной панели.
Нажмите кнопку клонировать или загрузить.
Скопируйте код, который появляется после нажатия кнопки.
После этого откройте Git bash в своей системе
Проверьте каталоги (или репозитории), уже созданные в этом каталоге(используя команду ls). Как видно на рисунке, у меня есть только один репозиторий в каталоге Git Repo ToolsQA.
Нажмите следующую команду, чтобы клонировать репозиторий:git clone URL здесь представляет собой тот же URL, который мы скопировали на третьем шаге.URL — это ссылка на репозиторий GitHub

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

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

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

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