AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

GitHub
Goto page 1, 2  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian)
View previous topic :: View next topic  
Author Message
lexa



Joined: 14 Jan 2011
Posts: 19

PostPosted: Sun Feb 17, 2013 2:44 am    Post subject: GitHub Reply with quote

Привет.

Поискал по форуму не нашёл ни одного предложения.

Может, есть резон перевести AkelPad на гитхаб? Всё-таки это "вконтанкит для программистов": удобный интерфейс, легко делать пулл реквесты, комментировать код и коммиты.

При этом собрать всё вместе: код редактора, плагинов, файлов coder и, конечно, удобный каталог скриптов.

Сказать "спасибо тебе, cvs, но ты устарел". :)

В крайнем случае, на гитхабе завести официальное зеркло проекта.
Back to top
View user's profile Send private message
F. Phoenix



Joined: 24 Dec 2011
Posts: 124

PostPosted: Sun Feb 17, 2013 11:44 am    Post subject: Reply with quote

Я как-то предлагал для скриптов какую-то общую репу завести, но чет никому не интересно. Себе кой-чего завел (не все авторы), ну и саму рабочую папку AP тож на гите держу - жаль только, в ini-файлах часть данных хранится в хексах: не шибко удобно версировать.
Back to top
View user's profile Send private message
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Tue Feb 19, 2013 6:29 am    Post subject: Reply with quote

Да на самом деле сорсфордж сам предоставляет возможность заводить гит-репо. Но тут уж как удобно автору.
Back to top
View user's profile Send private message
lexa



Joined: 14 Jan 2011
Posts: 19

PostPosted: Fri Feb 22, 2013 12:44 am    Post subject: Reply with quote

Fr0sT, гитхаб хорош не гитом (СКВ - вопрос привычки и религии :)), а сообществом и возможностями: отмечать закладки, форкать, слать пулл реквесты, обсуждать участки кода и т.д.

Поэтому хотелось бы хотя бы официальное зеркало проекта, куда можно будет слать реквесты. Например, там бы можно было сделать субмодуль с коллекцией скриптов F. Phoenix'а.

Люди бы слали свои coder-файлы, скрипты и т.д.

Главное, что этим было бы удобно пользоваться как Базовым Каталогом Скрипта. :)
Back to top
View user's profile Send private message
Lenchik



Joined: 10 Jan 2011
Posts: 234

PostPosted: Fri Feb 22, 2013 3:18 am    Post subject: Reply with quote

Я б не прочь загрузить свои coder-файлы, включая незаконченные, на гитхаб, но хотелось бы удобный ликбез по гитхабу, его терминологии и возможностям. А то я там зарегился, а дальше - тёмный лес для меня. Да, я знаю про тамошние факи, инструкции, когда-нибудь я их сяду и основательно прочту, но хотелось бы чего-то более краткого или может заточенного под применение в виде выкладывания акельпадных кодер-файлов, а не гигантского софта с ветвлениями в разработке.
Back to top
View user's profile Send private message Visit poster's website
lexa



Joined: 14 Jan 2011
Posts: 19

PostPosted: Fri Feb 22, 2013 4:22 am    Post subject: Reply with quote

Lenchik, я пытался учить своего дизайнера основам систем контроля версий, но не очень вышло. Поэтому боюсь и с вами обломаюсь. :)

Но попробовать можно.

Вообще, всё что вам нужно это программа для отсылки кода на сервер гитхаба. Для Windows можно использовать
1. msysgit
2. TortoiseGit (удобная, имеет приятный интерфейс)
3. специальную программу GitHub for Windows (достаточно удобная, имеет приятный интерфейс).

Далее.

Заводите новый репозиторий у себя в акаунте:
1. перейдите на https://github.com/
2. жмёте по "New repository"
3. вводите "Repository name" - это название репозитория в УРЛе (например, если назвать test, то репозиторий будет доступен по github.com/%USERNAME%/test)
4. нажимаете "Create repository"

Теперь у вас есть репозиторий test.

Далее.

Надо создать папку на компьютере или использовать уже имеющуюся. Она будет локальной копией основного репозитория.

Для msysgit

Если вы выбрали msysgit зажмите шифт, кликните правой кнопкой на директории и выбирайте "Открыть окно команд". Откроется cmd.

Инициализируем
Code:
git init


Добавляем в репозиторий все файлы (изменённые или созданные) (символ в конце - точка, она говорит "всё подряд", можно указывать директории или файлы)
Code:
git add .


Делаем комит (-m это комментарий, они обязательны)
Code:
git commit -m "first commit"


Указывает УРЛ внешнего репозитория куда будем сливать
Code:
git remote add origin https://github.com/%USERNAME%/test.git


Отправляем (origin это название см. выше "git remote add origin", master - имя ветки; master это базовая ветка)
Code:
git push -u origin master


Git спросит у вас логин и пароль. Потом отправит данные.

Теперь каждый раз при добавление файла вы пишите
Code:
git add .

или (для конкетного файла)
Code:
git add path/to/file.txt


Чтобы сохранить изменения
Code:
git commit -m "Комментарий"


И в конце концов
Code:
git push -u origin master


Чтобы синхронизировать локальный репозиторий с гитхабом.

GitHub for Windows

К сожалению я ставил эту программу только для ознакомления. Точно про неё не могу сказать.

Но в пустом репозитории (после создания нового) помимо подсказок для версии командной строки есть надпись "Quick setup — if you've done this kind of thing before" и кнопка "Setup in Windows".

Если у вас стоит GitHub for Windows клликнув по кнопке вы откроете репозиторий в нём.

TortoiseGit

По сути это интерфейс к Git-версии командной строки. Всё удобно.

Из всех команд нужно сделать
Code:
git init


Это команда доступна и из интерфейса ("Repository here", кажется, называется).

Вводите УРЛ и программа всё делает сама.

Создаёте/изменяете файлы, выбираете "commit", галочками отмечаете что нужно, пишете комментарий в окошке и всё.

Pull делается тоже просто одной кнопкой.

Логин/пароль и ключи

Вообще, по-хорошему, вам следует создать RSA-ключ: публичный и приватный. Приватный будет только у вас, а публичный можно раздавать кому угодно: гитхабу, серверу для SSH, андроиду при заходе на него по SSH и т.д.

Как сгенерировать ключ?

Для Windows идёте сюда и качаете PuTTYgen (176 Кб). Ничего больше, только PuTTYgen.

Открываете PuTTYgen. В "Type of key generate" выбираете "SSH-2 RSA" (по умолчанию должно быть выбрано именно оно).

В "Number of bits in a generated key" вместо 1024 вводите 2048 (или больше, но, в целях безопасности, не меньше).

Жмёте "Generate" и возюкаете мышкой в поле чуть выше кнопки "Generate".

Затем жмёте "Save public key", сохраняете публичный ключ в файл
Затем "Save private key" и сохраняете приватный ключ в файл.

Добавить ключ в гитхаб

Если вы не закрыли PuTTYgen, то публичный ключ можно видеть в окошечке. Он выглядит примерно так
Code:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAxNDi4D6Sonkp1Vbe1w/HuJW9xMcltMgqyzADhopvdSORtVBfNOOMJcv7JQK6DKt5O3dbcPHWVOyFwZz2NvrAHsOPd5HdleFKgqLtU0+FoI4xHv9aJ0ArAAW/ZrhuHDa4zWgQV1/4gkmziBU1TLX8agTABwrZIFLNEj2SN8Ho19Zz9Lt7e6j8AhiiCiYJSm5VS9/ljggF3TvTiLcS6fZFiHEI7cmyqDfIdTU2ZscN/1azcwMQ6UYNNrR2G6KhipNGk/7NCMPzw5wXRQtRTF9oYgaKdpKRy6Zbg5ilO6tuGoy/Q0J6JsUafhs2ROj1ey9gOhdz7sq0O+jR6v0v/c3wqw== rsa-key-20130222


Если PuTTYgen зыкрыт, то этот же ключ мы сохранили в обычном текстовом файле, откройте и копируйте содержимое.

Чтобы добавить ключ в гитхаб переходите в настройки https://github.com/settings/ssh, кликаете "Add SSH Key" и вводите туда публичный ключ.

Ставить ли пароль на приватный ключ

Это следует сделать в целях безопасности. Но с гитом будут небольшие проблемы.

Может не появляться окно в которое нужно вводить пароль от ключа.

Решить проблему можно достаточно просто: отсюда скачав Pageant.

Это агент, который висит в памяти и помнит пароли от всех ваших ключей. Pageant пригодиться и просто чтобы каждый раз не вводить пароль.

Как поставить пароль на ключ?

1. Если вы уже сгенерировали ключи и зыкрыли PuTTYgen, то откройте его снова и через меню File -> Load private key загрузите приватный ключ
2. Если ключ ещё не сгенерирован, то исправьте это. :)

Под окошечком с публичным ключом будет четыре поля:
1. Key fingerprint - подпись ключа.
2. Key comment - комментарий ключа (удобно если у вас несколько ключей или на гитхабе у аккаунта несколько ключей (разные люди), так не перепутаете что, чей и откуда).
3 и 4. Key passphrase и Confirm passphrase - это и есть поле с паролем. Вводите пароль, потом подтверждаете его.

Всё. Осталось только снова сохранить приватный ключ: "Save private key" и сохраняете приватный ключ в файл.

Теперь ваш ключ запаролен.
Back to top
View user's profile Send private message
lexa



Joined: 14 Jan 2011
Posts: 19

PostPosted: Fri Feb 22, 2013 4:24 am    Post subject: Reply with quote

Основная часть короткая, но из-за дополнений про TortoiseGit и ключи вышло длинновато. :)
Back to top
View user's profile Send private message
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Fri Feb 22, 2013 6:45 am    Post subject: Reply with quote

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

Инструкции для Виндов/гуевых приложений:
http://habrahabr.ru/post/123111/
http://habrahabr.ru/post/125799/
Back to top
View user's profile Send private message
Lenchik



Joined: 10 Jan 2011
Posts: 234

PostPosted: Fri Feb 22, 2013 8:03 pm    Post subject: Reply with quote

Спасибо за подсказки. Кой-чего натворил: https://github.com/Lenchik/Akelpad-syntax-highlighting

А теперь отзывы начинающего
lexa
Ещё раз спасибо. Хоть как-то пролит свет, но не хватает разъяснений по терминологии, все эти репозитории, пуши, пуллы, форки...
Что-то из этого нашлось в пдфах по хабрасслыкам.

Наверно эмоциональны отзывы, но всё же:
Поставить софта, который понаделает кучу непонятной фигни в моих документах.Mad
С самой страницы гитхаба под виндоуз две разных проги, которой обычному человеку тоже неинтуитивны, и даже перевод одной из них не спасает. Mad
Наверно для софта это нормально - всякие настроечные файлы в скрытых папках, но чтобы делиться и править кодер-файлы, придётся либо делать их копию, либо засорять своб папку coder скрытой папкой .git Mad
и добавка изменений... их еще синхронизировать надо Mad
файлы залитые через изменения и синхронизацию в этих виндовых прогах числятся за другим чуваком Mad
И возможно это связано с кодировкой UTF-16LE Coder файлов, а не с фейковым емэйлом, как я подумал Mad
Я был морально готов к какой-нибудь жопе, но чтобы так...
Посмотрим, если кто-то внесёт правки, как оно там будет работать, может и вправду удобная система.

Там можно сделать так чтобы сразу подхватывались все изменения из другого репозитория в онлайне. То есть я в gist.github.com создал запись кодер файла, вот пускай он оттуда подхватит и сделает типа жесткой ссылки на нтфс?
Back to top
View user's profile Send private message Visit poster's website
F. Phoenix



Joined: 24 Dec 2011
Posts: 124

PostPosted: Fri Feb 22, 2013 8:35 pm    Post subject: Reply with quote

Хз, чем тебя не устраивают скрытые папки - мне они лично ничуть не мешают. Явно удобней, чем в гребанном SVNе, по крайней мере, и перекидываются легко. Единственное, что в этом плане в винде неудобно (в отличие от пингвинов, под которые гит и делался), это что за переключением их видимости далеко тянуться. Но я себе давно настрочил переключалку да прикрутил вот так. Саму прогу можешь скачать тут, а Open++ тута. Есть и альтернативы - например, код обновления проводника я стырил из HiFiTo.

Для TortoiseGit штатный русский перевод ужасен. Я как на него взглянул, так сразу и удалил - решил, что лучше уж на инглише. Но сейчас потихоньку свой делаю (ни строчки, переведенной вслепую, куда не дотянулся, оставлено на английском). Вот, просто запихнуть dll-шки в папку TortoiseGit\Languages\ и в настройках выбрать русский. Может, попроще будет ориентироваться.


Last edited by F. Phoenix on Fri Feb 22, 2013 9:47 pm; edited 2 times in total
Back to top
View user's profile Send private message
F. Phoenix



Joined: 24 Dec 2011
Posts: 124

PostPosted: Fri Feb 22, 2013 8:52 pm    Post subject: Reply with quote

Некоторые команды:

init (инициализировать): Создает в текущей папке новую репу.
clone (клонировать): Скачивает внешнюю репу (например с GitHub) на хард.
pull (затянуть): Обновляет текущую репу из внешней.
fetch (получить): То же самое, но без слияния хранилищ в одно (не совсем понял этот момент).
push (протолкнуть): Заливает локальные изменения во внешнюю репу.

commit (фиксировать): Фиксирует текущие изменения, т.е. состояние рабочей папки.
checkout (извлечь): Переключает рабочую папку на другое состояние, зафиксированное ранее.

cherry-pick (забрать изменения): Копирует отдельные коммиты (т.е. наборы изменений) с другой ветки на текущую; с возможной необходимостью ручного разрешения конфликтов. Одна из моих любимых команд, т.к. почти всегда юзаю более информативную фиктивную историю. А в TortoiseGit ей удобно, например, менять последовательность коммитов или редактировать их описания: просто переключаешься на последний удовлетворяющий коммит, создаешь там временную ветку и забираешь все последующие коммиты в том виде, в каком хочешь их видить. Потом старую ветку можно перекинуть на новую вариацию, а временную удалить.
rebase (перебазировать ветку): Наоборот насаждает все коммиты текущей ветки в голову выбранной (в принципе, суть примерно та же).
reset (перебросить ветку): В git-е и ветки, и метки являются просто ссылками на какой-либо коммит, и эта команда позволяет просто переместить ветвь, т.е. изменить объект, на который она указывает.

gc (собрать мусор): А-ля чистка корзины. Под мусором имеются в виду все коммиты, на которые больше не указывают никакие ссылки. По дефолту гит их удаляет только спустя 2 недели, но эта команда сразу все чистит.

Полный русскоязычный мануал


Last edited by F. Phoenix on Sun Feb 24, 2013 5:42 pm; edited 2 times in total
Back to top
View user's profile Send private message
F. Phoenix



Joined: 24 Dec 2011
Posts: 124

PostPosted: Fri Feb 22, 2013 10:25 pm    Post subject: Reply with quote

Кстати, GitHub-у есть еще менее популярная альтернатива Bitbucket. Залил ради теста эту репу и туда: тыц. Что лучше, не знаю - от обоих не особо в восторге, но ни тот, ни другой не понимают UTF-16 (1|2), а последний вроде поменьше тормозит. Делитесь опытом, кто пробовал оба.
Back to top
View user's profile Send private message
lexa



Joined: 14 Jan 2011
Posts: 19

PostPosted: Sat Feb 23, 2013 1:38 am    Post subject: Reply with quote

Lenchik, как альтернативу для работы с гитом можно использовать TortoiseHg. Не смотря на то, что эта программа в первую очередь для меркуриала (похожая на гит система), благодаря плагину hggit умеет работать и с гитом (можно и с svn научить работать). Интерфейс у неё самый удобный, лично для меня.

Меркуриал тоже создаёт свою папку в локальном репозитории (.hg), но она не скрыта и всегда можно легко удалить.

Вариант: можно хранить раздельно рабочие файлы и файлы репозитория. Периодически закидывать изменённые файлы в репозиторий и обновлять. Или сделать жёсткую ссылку на директорию (mkdir /j, с ключом "/d" не сработает).

F. Phoenix, я сижу на обоих. Bitbucket лучше, если нравится работать с меркуриалом (альтернативой гиту; хотя Bitbucket поддерживает и гит) и заводить приватные репозитории. Например, я храню весь рабочий код в приватных репозиториях на Bitbucket.

Фигово, что у обоих проблемы с UTF-16. Но думаю это косяки лишь веб-интерфейса.
Back to top
View user's profile Send private message
F. Phoenix



Joined: 24 Dec 2011
Posts: 124

PostPosted: Sun Feb 24, 2013 1:26 am    Post subject: Reply with quote

Хм, а проблемы эти, похоже, из-за самого гита. Вот он че в диффе выдает:
Code:
6d0bac78efd801f996becc5a33b4a138cb5519c4
 KDJ/FindReplaceEx_1049.lng | Bin 0 -> 5562 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/KDJ/FindReplaceEx_1049.lng b/KDJ/FindReplaceEx_1049.lng
new file mode 100644
index 0000000..e984eb6
Binary files /dev/null and b/KDJ/FindReplaceEx_1049.lng differ

Хотя конкретно этот файл я без понятия, зачем KDJ сохранил в UTF-16: я его изначально переводил в UTF-8 и все прекрасно пашет - может все скрипты в него и конвертнуть... единственное, не уверен на тему поддержки китайского.

Тем не менее, основной кодировкой Акелпада является именно UTF-16, и многие файлы в UTF-8 просто будут восприняты как ошибочные. Вон, те же кодерские.

В плане этого тупнячка, кстати, гитхаб оказался поудобней, ибо хоть диффы и не выдает, но просмотреть файл в своем интерфейсе позволяет. Битбакет же предлагает его только скачать. На своем компе-то вообще хреновые диффы не являются такой уж прям большой проблемой, ибо программы сравнения все сами перепроверяют, но все равно не ок.
Back to top
View user's profile Send private message
lexa



Joined: 14 Jan 2011
Posts: 19

PostPosted: Sun Feb 24, 2013 2:10 am    Post subject: Reply with quote

Хм, у меня coder-файлы на гитхабе лежать без проблем и видны через веб-интерфейс. При клонировании в локальный репозиторий AkelPad по-прежнему определяет их как UTF-16 LE.

С встроенным дифом есть некоторые сложности, но они отпадут, если использовать WinMerge. После обновлений плагина Coder всегда им сравниваю разности канонических файлов подсветки с моими.

Даже повесил в менюшку (в "Меню вкладок"):
Code:
-"Сравнить файлы" Call("Scripts::Main", 1, "l_Merge.js") Icon("D:\WinMerge\WinMerge.exe", 0)


l_Merge.js (отдаёт WinMerge файлы с текущей вкладки и вкладки правее):
Code:
var current, next;
var file1, file2
var shell;

current = AkelPad.GetEditWnd();
AkelPad.Command(4316);
next = AkelPad.GetEditWnd();
AkelPad.Command(4317);

file1 = AkelPad.GetEditFile(current);
file2 = AkelPad.GetEditFile(next);

shell = new ActiveXObject('WScript.Shell');

shell.Exec('D:\\WinMerge\\WinMerge "' + file1 + '" "' + file2 + '"');
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian) All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group