Я создал новый репозиторий GitHub. Меня довольно смущает рабочий каталог и локальный репозиторий. Когда я работаю самостоятельно, мои вещи все находятся в рабочем каталоге. Но, работая с репо, я должен проверить свои вещи там. Но они одно и то же? или они должны быть отдельными. Затем, как перенести мои вещи в рабочий каталог на мое местное репо. Как передать свое местное репо на удаленное репо. Как это сделать с помощью Git Bash? Благодарю!
Какая разница между рабочим каталогом и локальным хранилищем?
Ответ 1
Рабочий каталог - это каталог с исходными файлами, находящимися под контролем git (в корне всех папок, находящихся под контролем, находится файл .git). Git отслеживает разницу между вашим рабочим каталогом и локальным репозиторием, а также между вашим локальным репозиторием и (одним из) удаленных репозиториев.
Чтобы увидеть, что было изменено, используйте $ git status
.
Чтобы зафиксировать ваши изменения (изменения и/или новые файлы) в локальном репозитории, используйте $ git add
и затем $ git commit
.
Чтобы увидеть, что было зафиксировано, используйте $ git log
.
Затем, если вы хотите зафиксировать ваши изменения в удаленном репозитории, используйте $ git push
.
Обратите внимание на то, что печатают команды git, они часто содержат советы, что делать.
Если вы работаете с GitHub, их помощь также полезна: отправка на пульт.
Хорошая основная информация также на сайте atlassian.
НАПРИМЕР:
Предположим, вы запустили свой репозиторий git с помощью $ git init
в директории JavaRepo и отметили там проект с помощью $ git pull
или $ git clone
. Тогда JavaRepo должен содержать файл .git (среди прочего, файлы git с точками) - вы можете проверить это с помощью $ ls -a
. Эти файлы сами по себе являются локальным репозиторием git, и нет необходимости различать каталог "рабочий каталог" и каталог "локальный репозиторий".
Итак, начните работать с файлами в JavaRepo: скажем, вы изменили файл example.java и создали новый файл example2.java. Выполнить состояние $ git status
в JavaRepo (или в любом его подкаталоге). Должно отображаться: "изменено: пример .java", "неотслеживаемые файлы: пример2.java".
Добавьте файлы в промежуточную область с $ git add example2.java
команд $ git add example.java
и $ git add example2.java
из каталога с этими файлами. (Обратите внимание, что $ git add
предназначен как для измененных, так и для новых файлов.)
И, наконец, зафиксируйте ваши файлы с помощью $ git commit -m "example changes"
(-m остается для сообщения - комментария к коммиту).
$ git log
должен отображаться этот коммит.
Ответ 2
Существует слой между рабочим каталогом и локальным хранилищем. Это называется областью постановки. Когда вы добавляете измененные файлы с помощью "git add", изменения сначала сохраняются в промежуточной области для проверки. Затем вы можете использовать 'git commit' для дальнейшего продвижения ваших изменений из промежуточной области в локальное репо.