git для нуба(сценарий "Одинокий рейнджер" & xubuntu 16.04 LTS)
git - инструмент разработчика для создания и использования репозитория исходных кодов.
0. Запустите консоль терминала.
1. установите гит командой: sudo apt install git
2. создадим каталог будущего проекта(если он уже не создан, например, при помощи среды разработки(IDE - англ.).
mkdir project1
cd project1
3. создадим первый файл в каталоге, например так: touch main.c
4. пора создать гит-репозиторий в каталоге проекта: git init
5. отправляем первый файл в репу: git add main.c
6. фиксируем изменения: git commit -m "first commit"
7. проверить, что у нас в репах можно командой: git status или git show
8. так как репы находятся в каталоге проекта, то это не полноценный репозиторий,
т.к. в этом случае - риск удалить каталог очень велик. В моей жизни был случай,
когда несколько дней кропотливой работы были уничтожены в одно мгновение из-за
одного нажатия мышки. Слава богу, .Net-вские сборки декомпилируются в отличный исходный код
на C#. Для хранения копии проекта используется "чистый" репозитарий.
Для его создания просто создайте на другом разделе каталог sources и в нем каталог
project1.git:
mkdir ~/sources/project1.git
cd ~/sources/project1.git
и создайте чистый(пустой) гит-репозиторий: git init --bare
теперь вернемся в каталог проекта.
9. Нужно сконфигурировать удаленный гит для отправки туда затем рабочих версий проекта:
git remote add origin ~/sources/project1.git/
10. Теперь можно отправить изменения:
git push origin master
11. Проверяем:
создать временный каталог перейти в него и выполнить: git clone ~/sources/project1.git/
Примерно так:
cd ..
mkdir t
cd t
git clone ~/sources/project1.git/
Cloning into 'project1'...
done.
cd project1/
dir
main.c
12. добавим еще один файл в проект:
touch makefile
t/project1$ make
make: *** No targets. Stop.
git add makefile
git commit -m "makefile"
[master c4177d4] makefile
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 makefile
git push origin master
Counting objects: 2, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 231 bytes | 0 bytes/s, done.
Total 2 (delta 0), reused 0 (delta 0)
To /sources/project1.git/
6b8b3c0..c4177d4 master -> master
13. Вернемся в исходный каталог(там где был создан main.c) и синхронизируем изменения(должен добавиться файл makefile), вот так вот:
git pull origin master
From /sources/project1
* branch master -> FETCH_HEAD
Updating 6b8b3c0..c4177d4
Fast-forward
makefile | 0
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 makefile
14. Попробуем удалить файл: rm makefile
15. Проверяем:
/project1$ ls
main.c
16. восстанавливаем:
git checkout -- makefile
/project1$ ls
main.c makefile
17. Еще раз фиксируем возможные изменения:
git commit -m "3"
On branch master
nothing to commit, working directory clean
/project1$ git push origin master
Everything up-to-date
Резюме: origin - Это алиас для удаленного гита. master - это название ветки(основной).
Таким образом можно хранить не только программные проекты, но и любые электронные.
git - инструмент разработчика для создания и использования репозитория исходных кодов.
0. Запустите консоль терминала.
1. установите гит командой: sudo apt install git
2. создадим каталог будущего проекта(если он уже не создан, например, при помощи среды разработки(IDE - англ.).
mkdir project1
cd project1
3. создадим первый файл в каталоге, например так: touch main.c
4. пора создать гит-репозиторий в каталоге проекта: git init
5. отправляем первый файл в репу: git add main.c
6. фиксируем изменения: git commit -m "first commit"
7. проверить, что у нас в репах можно командой: git status или git show
8. так как репы находятся в каталоге проекта, то это не полноценный репозиторий,
т.к. в этом случае - риск удалить каталог очень велик. В моей жизни был случай,
когда несколько дней кропотливой работы были уничтожены в одно мгновение из-за
одного нажатия мышки. Слава богу, .Net-вские сборки декомпилируются в отличный исходный код
на C#. Для хранения копии проекта используется "чистый" репозитарий.
Для его создания просто создайте на другом разделе каталог sources и в нем каталог
project1.git:
mkdir ~/sources/project1.git
cd ~/sources/project1.git
и создайте чистый(пустой) гит-репозиторий: git init --bare
теперь вернемся в каталог проекта.
9. Нужно сконфигурировать удаленный гит для отправки туда затем рабочих версий проекта:
git remote add origin ~/sources/project1.git/
10. Теперь можно отправить изменения:
git push origin master
11. Проверяем:
создать временный каталог перейти в него и выполнить: git clone ~/sources/project1.git/
Примерно так:
cd ..
mkdir t
cd t
git clone ~/sources/project1.git/
Cloning into 'project1'...
done.
cd project1/
dir
main.c
12. добавим еще один файл в проект:
touch makefile
t/project1$ make
make: *** No targets. Stop.
git add makefile
git commit -m "makefile"
[master c4177d4] makefile
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 makefile
git push origin master
Counting objects: 2, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 231 bytes | 0 bytes/s, done.
Total 2 (delta 0), reused 0 (delta 0)
To /sources/project1.git/
6b8b3c0..c4177d4 master -> master
13. Вернемся в исходный каталог(там где был создан main.c) и синхронизируем изменения(должен добавиться файл makefile), вот так вот:
git pull origin master
From /sources/project1
* branch master -> FETCH_HEAD
Updating 6b8b3c0..c4177d4
Fast-forward
makefile | 0
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 makefile
14. Попробуем удалить файл: rm makefile
15. Проверяем:
/project1$ ls
main.c
16. восстанавливаем:
git checkout -- makefile
/project1$ ls
main.c makefile
17. Еще раз фиксируем возможные изменения:
git commit -m "3"
On branch master
nothing to commit, working directory clean
/project1$ git push origin master
Everything up-to-date
Резюме: origin - Это алиас для удаленного гита. master - это название ветки(основной).
Таким образом можно хранить не только программные проекты, но и любые электронные.
Комментарии
Отправить комментарий