К основному контенту

GIT основы работы

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 - это название ветки(основной).
Таким образом можно хранить не только программные проекты, но и любые электронные.

Комментарии

Популярные сообщения из этого блога

Кирилица в Arch Linux

После вчерашних обновлений в консоли Arch Linux при выборе русской локали вместо букв печатаются белые квадратики. Очевидно, что по какой-то причине не загружается прописанный в rc.conf шрифт. Временное лекарство от этого: выполнить команду setfont cyr-sun16 . Еще у меня в момент начальной загрузки появляется рябь на экране как от сильных электромагнитных помех в ЭЛТ, хотя у меня ЖК. Может быть это как-то связано.

Сортировка массивов в groovy

Любой массив в java и groovy можно отсортировать статическим методом: Arrays.sort(c); причем это будет очень быстро сто тысяч элементов типа int сортируются за 1 секунду на celeron M 1,8 Mg. Если это массив объектов можно использовать перегруженный метод Arrays.sort(c,comporator);

Arch Linux - руссификация консоли

Вчера, придя с работы, как всегда затеял InstallFest. Уже практически не задумываясь установил свежий арч. И тут заметил что в tty вместо русского - квадратики. Под утро нашел таки сообщение на форме, что в этом виноваты дрова от видео. Там правда речь шла о нвидиа, а у меня ати. Буду пробовать. И еще в lxterminal обратил внимание что сообщения на русском, а то что я вводил на русском потом возвращается системой в виде юникод-символов. Вот такие дела. UPDATE: драйвер не причем. переустановил в консоли(до установки X) по прежнему квадратики вместо букв. неужели придется переключатся на инглиш? Заметил что initscripts скачался c какого-то зеркала не с яндекса. возможно причина в нем.