Russian Qt Forum
Апрель 23, 2024, 11:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Хранение исходников на github.com, а исп. файлов на Yandex.Disk или Google Drive  (Прочитано 23550 раз)
8Observer8
Гость
« : Январь 22, 2014, 17:59 »

- Регистрируемся на https://github.com/
- Создаём удалённый репозитарий для хранения проекта, для этого: в правом верхнем углу сайта нажимаем значок "+" -> выбираем "New repository"
- В поле "Repository name" пишем имя проекта, например: HelloGit
- В поле "Description" пишем описание проекта, например: Первый проект (можно ничего не писать)
- Нажимаем кнопку "Create repository"
- Скачиваем и устанавливаем Git: http://msysgit.github.io/
- Указываем имя и электронную почту, для этого запускаем консоль и вводим команды:
Цитировать
git config --global user.name "Your Name"
git config --global user.email "your_email@whatever.com"

- Указываем окончания строк, для этого вводим команды:
Цитировать
git config --global core.autocrlf false
git config --global core.safecrlf true

Примечание. Имя, электронная почта и окончания строк указываются один раз после установки Git

Для работы с консолью, рекомендую скачать и установить Far Manager: http://www.farmanager.com/download.php

- Запускаем Far Manager
- С помощью Far'а переходим в папку проекта (управление такое же, как и у TotalCommander)

Примечание. Для того, чтобы в Far'е переключаться между навигацией по папкам и окном вывода консоли, нужно нажимать: Ctrl+O

- Переходим в режим консоли (Ctrl+O)
- Если у нас есть файлы, которые мы не хотим сохранять в хранилище, то создаём файл .gitignore (это не расширение, а полное имя файла, которое начинается с точки) и записываем в него имена файлов в столбик. Для того, чтобы создать файл с помощью Far нужно нажать Ctrl+F4. Содержимое файла .gitignore может быть такое:
Цитировать
text.txt
*.jpg
*.pro.user*

- Инициализируем хранилище. Для этого вводим команду и нажимаем Enter:
Цитировать
git init

- Добавляем в хранилище файл .gitignore:
Цитировать
git add .gitignore

- Добавляем все файлы в хранилище:
Цитировать
git add .

Примечание. Если вы после команды выше получили сообщение "fatal: LF would be replaced by CRLF in ...", то нужно ввести команду (и повторить команду выше):
Цитировать
git config core.autocrlf false

- Делаем коммит (перед оправкой - обязательно)
Цитировать
git commit -am "First Commit"

Примечание. При вводе следующей команду нужно ввести ссылку на Ваш удалённый репозитарий

- Отправляем файлы на сервер github.com:
Цитировать
git push https://github.com/8Observer8/HelloGit.git refs/heads/master:refs/heads/master

- Теперь мы можем обновить страничку на сайте github.com и увидеть свои файлы

- Eсли вы изменили что-то в своём проекте, то выполните последовательно две команды:
Цитировать
git commit -am "First Commit"
Цитировать
git push https://github.com/8Observer8/HelloGit.git refs/heads/master:refs/heads/master

- Eсли вы добавили файлы в проект, то выполните последовательно эти три команды:
Цитировать
git add .
Цитировать
git commit -am "First Commit"
Цитировать
git push https://github.com/8Observer8/HelloGit.git refs/heads/master:refs/heads/master

Сохранение исполняемых файлов на Yandex.Disk или Google.Drive

Для того, чтобы сохранить исполняемые файлы (или архивы проектов) на Yandex.Disk или Google.Drive нужно набрать в google.com, например, Yandex.Disk и нажать кнопку установить. После установки у вас появится папка "Yandex.Disk". Копируйте в эту папку исполняемый файл. Далее, подождите, когда он загрузится на удалённый сервер yandex. Потом нажмите правой кнопкой по файлу и выберите "Yandex.Disk: Copy public link". Теперь вы можете опубликовать (или отослать) ссылку, с которой можно скачать. Например, моя любимая книжка по C++: https://yadi.sk/d/VCvsky11c6wtP

Старая версия инструкции:
Код:
Привет! Это пошаговая инструкция о том как сохранять файлы проекта на удалённый сервер (github.com). Ограничимся пока комментированием изменений и сохранением изменений на удалённый сервер.

У программы Git есть ещё возможности (о которых я возможно напишу позже):
- можно сделать откат к любым закомментированным изменениям
- можно создать несколько независимых веток развития проекта
- об остальных возможностях можно почитать, например здесь: [url=http://githowto.com/ru/]http://githowto.com/ru/[/url]

[b]Краткая версия инструкции[/b]
Установите Git. Я обычно в Far'е захожу в папку с проектом и нажимаю Ctrl+F4 (чтобы создать файл), пишу название файла .gitignore Потом в файле .gitignore пишу файлы и папки, которые не надо сохранять:
[quote]
*.pro.user
build*
[/quote]
- Далее F2 (сохранить), F10 (закрыть файл)
- Тут создаёте проект: https://github.com/
- Возвращаетесь в Far, нажимаете Ctrl+O (показать консоль) и последовательно вводите команды:
[quote]
git init
git add .gitignore
git add .
git commit -am "First Commit"
git git push https://github.com/8Observer8/Qt_ContentFromVkCom.git refs/heads/master:refs/heads/master
[/quote]
В последней команде у вас имя перед .git будет другое. Далее надо будет ввести username и password от github Файлы проекта сохранены на github.com

[B]Инструкция[/B]

- регистрируемся на [url=https://github.com/]https://github.com/[/url]
- создаём удалённый репозитарий для хранения проекта, для этого: в правом верхнем углу сайта нажимаем значок "+" -> выбираем "New repository"
- в поле "Repository name" пишем имя проекта, например: HelloGit
- в поле "Description" пишем описание проекта, например: Первый проект
- нажимаем кнопку "Create repository"
- скачиваем и устанавливаем Git: http://msysgit.github.io/
- указываем имя и электронную почту, для этого запускаем консоль и вводим команды:

[QUOTE]
git config --global user.name "Your Name"
git config --global user.email "your_email@whatever.com"
[/QUOTE]

- указываем окончания строк, для этого вводим команды:

[QUOTE]
git config --global core.autocrlf false
git config --global core.safecrlf true
[/QUOTE]

Примечание. Имя, электронная почта и окончания строк указываются один раз после установки Git

Для работы с консолью, рекомендую скачать и установить Far Manager: [url=http://www.farmanager.com/download.php]http://www.farmanager.com/download.php[/url]

- запускаем Far Manager

- с помощью Far'а переходим в папку проекта

Примечание. Для того, чтобы в Far'е переключаться между навигацией по папкам и окном вывода консоли, нужно нажимать: Ctrl+O

- нажимаем Ctrl+O
- в корне проекта создаём файл: .gitignore
- открываем файл .gitignore и добавляем в него названия файлов, которые мы не хотим добавлять под контроль git, к примеру:
[QUOTE]
*.pro.user
*.txt
[/QUOTE]

- вводим команды:

[QUOTE]
git init
git add .gitignore
git add .
[/QUOTE]

Примечание. Мы можем посмотреть в любой момент текущее состояние наших файлов, набрав: git status

Сохраняем файлы проекта на удалённый репозитарий:

[QUOTE]
git commit -am "First Commit"
git branch
git remote -v
[/QUOTE]

Примечание. При вводе следующей команду нужно ввести ссылку на Ваш удалённый репозитарий

[QUOTE]
git push https://github.com/8Observer8/HelloGit.git refs/heads/master:refs/heads/master
[/QUOTE]

- вводим логин и пароль

Проект сохранён на https://github.com/

Произведём изменения в файле проекта и сохраним эти изменения на https://github.com/

[QUOTE]
git commit -m "Добавил строку для вывода \"Hello, World!\" на экран" main.cpp
git branch
git remote -v
git push https://github.com/8Observer8/HelloGit.git refs/heads/master:refs/heads/master
[/QUOTE]

Добавим новую ветку развития проекта:

[QUOTE]
git checkout -b MyStyle
[/QUOTE]

Примечание (важно!). Если в Qt Creator Вы не видите рядом с названием проекта название ветки, то нужно перезапустить Qt Creator.

Примечания:

1. Вместо предыдущей команды можно написать две следующих:
git branch <имяветки>
git checkout <имяветки>
См. здесь: http://githowto.com/ru/creating_a_branch

2. Мы можем переключаться между ветками развития следующим образом:
[QUOTE]
git checkout master
git checkout MyStyle
[/QUOTE]

3. Мы можем узнавать список веток и имя текущую ветки с помощью команды:
[QUOTE]
git branch
[/QUOTE]

4. Чтобы удалить файл из контроля git нужно выполнить:
[QUOTE]
git rm file1.txt
git commit -am "remove file1.txt"
[/QUOTE]

5. Мы можем посмотреть имена файлов в указаной ветке (здесь master - это имя ветки):
[QUOTE]
git ls-tree -r master --name-only
[/QUOTE]

Допустим в новой ветке мы удаляем несколько файлов, несколько добавляем, а несколько изменяем. И хотим сохранить все изменения на удалённый репозитарий.

[QUOTE]
git rm shape.cpp circle.cpp
git add rectangle.h
[/QUOTE]

Удалили: shape.cpp, circle.cpp
Добавили: rectangle.h
Изменили: main.cpp, shape.h, circle.h, rectangle.h

[QUOTE]
git commit -am "Удалили: shape.cpp circle.cpp. Добавили: rectangle.h. Изменили что-либо в: main.cpp, shape.h, circle.h, rectangle.h"
[/QUOTE]

Сохраним нашу новую ветку на удалённый репозитарий:
[QUOTE]
git branch
git remote -v
git push https://github.com/8Observer8/HelloGit.git refs/heads/MyStyle:refs/heads/MyStyle
[/QUOTE]

Примечание. Обратите внимание, что в предыдущей команде мы написали имя текущей ветки: refs/heads/MyStyle:refs/heads/MyStyle

- вводим логин и пароль

Новая ветка сохранена на https://github.com/
« Последнее редактирование: Январь 25, 2015, 16:07 от 8Observer8 » Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Январь 22, 2014, 18:24 »

Полезная инструкция Улыбающийся Спасибо )
Записан

8Observer8
Гость
« Ответ #2 : Январь 22, 2014, 21:28 »

gil9red, спасибо за оценку! Очень прятно Улыбающийся
Записан
8Observer8
Гость
« Ответ #3 : Январь 30, 2014, 16:24 »

Исправил ошибки.

Строки:
Цитировать
git add main.cpp
Цитировать
git commit -m "Мой первый комментарий" main.cpp

Заменил на:
Цитировать
git add main.cpp person.h person.cpp
Цитировать
git commit -m "Мой первый комментарий" main.cpp person.h person.cpp

Убрал строку:
Цитировать
git branch --set-upstream-to origin/master master
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #4 : Январь 30, 2014, 19:26 »

чтобы не перечислять все файлы при коммите есть ключ -a
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
8Observer8
Гость
« Ответ #5 : Январь 30, 2014, 20:33 »

чтобы не перечислять все файлы при коммите есть ключ -a

Спасибо! Подскажите, как убрать файл из коммита. Дело в том, что я не хочу все добавлять. В проектах Qt я не хочу добавлять "user.pro" файл. Вот если бы была возможность убрать его из коммита, после того, как я добавил все.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #6 : Январь 30, 2014, 22:35 »

конкретно этот файл (и прочие ненужные в репозитории) лучше всего игнорировать перманентно через .gitignore

если коммит уже сделан, а ты хочешь его исправить, для этого есть git rebase -i. вот хорошая статья по правке истории: http://rakeroutes.com/blog/deliberate-git/
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
8Observer8
Гость
« Ответ #7 : Январь 31, 2014, 06:59 »

конкретно этот файл (и прочие ненужные в репозитории) лучше всего игнорировать перманентно через .gitignore

Мне нужно создать файл .gitignore в папке ".git/info/"? Да?

А потом добавить в него такие строки?
Цитировать
*.user.pro
*.txt
Записан
twp
Гость
« Ответ #8 : Январь 31, 2014, 14:27 »

Файл создается в рутовой директории репозитория проекта
http://git-scm.com/book/ru/Основы-Git-Запись-изменений-в-репозиторий#Игнорирование-файлов
Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4349



Просмотр профиля
« Ответ #9 : Январь 31, 2014, 15:07 »

Хочу добавить, что .gitignore нужно положить в корень проекта и добавить его под контроль гита.
Записан
8Observer8
Гость
« Ответ #10 : Февраль 01, 2014, 14:57 »

Файл создается в рутовой директории репозитория проекта
http://git-scm.com/book/ru/Основы-Git-Запись-изменений-в-репозиторий#Игнорирование-файлов

Спасибо за ответ! По Вашим словам после команды "git init" должен появиться файл .gitignore. Тогда судя по документации: http://git-scm.com/docs/gitignore этот файл должен лежать в этой папке: ".git/info". Но его там нет. Значит нужно самому создает его?

Хочу добавить, что .gitignore нужно положить в корень проекта и добавить его под контроль гита.

Спасибо за ответ! Мне нужно сделать так?

Цитировать
git init
создаю файл с именем ".gitignore" и добавляю в него:
Цитировать
*.user.pro
*.txt
Цитировать
git add .gitignore
Цитировать
git add -a
Цитировать
git commit -m "First Commit" -a

Так будет работать? Я правильно понял?
Записан
viktand
Гость
« Ответ #11 : Февраль 09, 2014, 06:35 »

Извините, если ошибаюсь, но чтобы это все работало, надо еще генерировать ключи и загружать их на githab.
Записан
8Observer8
Гость
« Ответ #12 : Февраль 09, 2014, 08:44 »

Извините, если ошибаюсь, но чтобы это все работало, надо еще генерировать ключи и загружать их на githab.

Попробуйте и убедитесь, что работает.
Записан
8Observer8
Гость
« Ответ #13 : Февраль 22, 2014, 08:52 »

Хочу проигнорировать некоторые файлы, но не получается:

- в корне проекта создаём файл: .gitignore
- открываем файл .gitignore и добавляем в него названия файлов, которые мы не хотим добавлять под контроль git, к примеру:
*.user.pro

- вводим команды:
git init
git add .
git commit -am "First Commit"
Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4349



Просмотр профиля
« Ответ #14 : Февраль 22, 2014, 09:54 »

Хочу проигнорировать некоторые файлы, но не получается:

- в корне проекта создаём файл: .gitignore
- открываем файл .gitignore и добавляем в него названия файлов, которые мы не хотим добавлять под контроль git, к примеру:
*.user.pro

- вводим команды:
git init
git add .
git commit -am "First Commit"
Он (.gitignore) начинает работать, если уже находится под контролем.
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.148 секунд. Запросов: 22.