Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
user:zeman:git [2015/04/28 12:17] zeman |
user:zeman:git [2017/01/18 14:14] (current) zeman Nový Redmine. |
====== Redmine a Git ====== | ====== Redmine a Git ====== |
| |
| Poznámky o migraci ze Subversion na Git mám např. v souboru /net/work/people/zeman/hamledt/README.txt (resp. v repozitáři HamleDT, který jsem také stěhoval ze Subversion na Github). Tam je navíc oproti postupu popsanému zde popsáno ještě použití čističe historie BFG (https://rtyley.github.io/bfg-repo-cleaner/). Soubor users.txt se jmény a adresy vývojářů mám dosud o patro výš (/net/work/people/zeman/users.txt). Viz též http://git-scm.com/book/es/v2/Git-and-Other-Systems-Migrating-to-Git. Následující postup předpokládá, že jsem nejdříve vytvořil na Githubu prázdný repozitář ''dzparser''. |
| |
| <code bash>git svn clone https://svn.ms.mff.cuni.cz/svn/dzparser --authors-file=users.txt --no-metadata --trunk=trunk --prefix=svn/ |
| cd dzparser |
| git remote add origin git@github.com:dan-zeman/dzparser.git |
| git branch --set-upstream-to=origin/master master |
| git pull origin master |
| git push origin master |
| # https://github.com/dan-zeman/dzparser.git</code> |
| |
ÚFALí server Redmine je na adrese https://redmine.ms.mff.cuni.cz/projects. Na wiki stránce s [[:navody|návody]] máme informace o [[:internal:redmine|nastavení osobního účtu na Redminu]]. | ÚFALí server Redmine je na adrese https://redmine.ms.mff.cuni.cz/projects. Na wiki stránce s [[:navody|návody]] máme informace o [[:internal:redmine|nastavení osobního účtu na Redminu]]. |
<code bash>source keylogin.sh</code> | <code bash>source keylogin.sh</code> |
| |
<code bash>git clone https://daniel.zeman@redmine.ms.mff.cuni.cz/ufal-smt-playground.git jmeno_pracovni_kopie</code> | <code bash>git clone git clone https://daniel.zeman@redmine.ms.mff.cuni.cz/upper-sorbian-proj/upper-sorbian.git jmeno_pracovni_kopie</code> |
| |
Dokumentace ke gitu je například [[http://git-scm.com/documentation|tady]]. | Dokumentace ke gitu je například [[http://git-scm.com/documentation|tady]]. |
* ''git add <file>'' ... zkopírovat změněný soubor do staging oblasti nebo zahrnout do verzování dosud neverzovaný soubor (rovnou se dostane do staging oblasti) | * ''git add <file>'' ... zkopírovat změněný soubor do staging oblasti nebo zahrnout do verzování dosud neverzovaný soubor (rovnou se dostane do staging oblasti) |
* ''git reset HEAD <file>'' ... vyřadit soubor ze staging oblasti | * ''git reset HEAD <file>'' ... vyřadit soubor ze staging oblasti |
* ''git checkout -- <file>'' ... zapomenout změny v pracovní kopii a vrátit se k verzi souboru uložené v repozitáři | * ''git checkout <nowiki>--</nowiki> <file>'' ... zapomenout změny v pracovní kopii a vrátit se k verzi souboru uložené v repozitáři |
| * ''git checkout -f'' ... zapomenout všechny změny všech souborů v pracovní kopii a vrátit se k poslednímu commitu v repozitáři |
* ''git commit -m 'log<nowiki>'</nowiki>'' ... uložit soubory ze staging oblasti do (lokálního!) repozitáře; na vzdálený server to pořád nemá vliv | * ''git commit -m 'log<nowiki>'</nowiki>'' ... uložit soubory ze staging oblasti do (lokálního!) repozitáře; na vzdálený server to pořád nemá vliv |
* ''git commit -a'' ... přeskočit stageování a uložit i soubory, které už sledujeme, změnily se, ale nejsou ve staging oblasti | * ''git commit -a'' ... přeskočit stageování a uložit i soubory, které už sledujeme, změnily se, ale nejsou ve staging oblasti |
* ''git remote -v'' ... zobrazit názvy nakonfigurovaných vzdálených repozitářů včetně jejich URL. "origin" je ten, ze kterého jsme se naklonovali. | * ''git remote -v'' ... zobrazit názvy nakonfigurovaných vzdálených repozitářů včetně jejich URL. "origin" je ten, ze kterého jsme se naklonovali. |
* ''git remote add <shortname> <url>'' ... přidat vzdálený repozitář, se kterým se můžeme synchronizovat | * ''git remote add <shortname> <url>'' ... přidat vzdálený repozitář, se kterým se můžeme synchronizovat |
| * ''git remote add origin git@github.com:ufal/treex.git'' |
| * ''git branch --set-upstream-to=origin/master master'' |
| * ''git remote rm <shortname>'' ... odebrat spojení se vzdáleným repozitářem (nikoli vzdálený repozitář jako takový, ten zůstane nedotčen) |
* ''git fetch origin'' ... stáhnout nové změny ze vzdáleného repozitáře origin. Stáhnou se jako nová větev a neslijí se s mou aktuální větví, dokud to neudělám ručně. | * ''git fetch origin'' ... stáhnout nové změny ze vzdáleného repozitáře origin. Stáhnou se jako nová větev a neslijí se s mou aktuální větví, dokud to neudělám ručně. |
* ''git pull origin'' ... stáhnout nové změny a pokusit se je automaticky slít s mými. Musíme mít nakonfigurováno automatické sledování vzdálené větve. Ale u originu to tak defaultně je. | * ''git pull origin'' ... stáhnout nové změny a pokusit se je automaticky slít s mými. Musíme mít nakonfigurováno automatické sledování vzdálené větve. Ale u originu to tak defaultně je. |