Показать сообщение отдельно
Старый 24.04.2014, 08:17   #32
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Какая система контроля версий лучше (Battle!)

Я использую git в NetBeans, команды встроены в IDE - удобно.

Была однажды проблема: сначала у меня была папка с ресурсами, затем я её запаковал в 1 файл, название сделал такое же как у прежней папки.
При возврате на предыдущее состояние возник конфликт, который я объясняю тем, что винда не терпит в одном месте файл и папку с одинаковым именем - значит git сначала попытался скопировать прежнюю папку и не смог, но при этом удалил пак-файл.
В итоге ни папки ни пака - заново делал.
Может я что-то сделал не так, тогда только начал использовать git, но хз. После этого случая некоторое время перед checkout'ами делал копию папки .git - мало ли чё!

ПС1: Мне нравится возможность задать тэг (tag) для текущего состояния, свои релизы помечаю тегами.

ПС2: Проверил только что на тестовом проекте случай с одноимёнными файлом и папкой.
1. создал папку, сделал commit, сделал тэг для текущего состояния
2. удалил папку, положил файл с именем папки, сделал commit
3. сделал checkout первого commit'a по тегу
4. увидел свою папку из первого commit'a, обрадовался что всё работает
5. сделал checkout второго commit'a
6. не увидел свой файл, огорчился
7. снова сделал checkout первого commit'a
8. не увидел папку. опечалился
Выходит, теперь у меня нет ни файла ни папки, сколько не прыгай по commit'ам.

Мне git ничего не сказал про невозможность копирования или ещё что-то в этом роде, и лог без ошибок.
==[IDE]== Apr 24, 2014 11:24:00 AM Initializing ...
Initializing repository
Creating git D:\JavaME\MobileApplicationTest/.git directory
git init D:\JavaME\MobileApplicationTest
==[IDE]== Apr 24, 2014 11:24:00 AM Initializing ... finished.
==[IDE]== Apr 24, 2014 11:24:26 AM Committing...
Git Commit
----------
git add D:\JavaME\MobileApplicationTest\src\res\emo\emo_ru D:\JavaME\MobileApplicationTest\src\res\emo\emo_en D:\JavaME\MobileApplicationTest\src\res\emo\emo_pt D:\JavaME\MobileApplicationTest\src\res\emo\emo_es D:\JavaME\MobileApplicationTest\src\mobileapplicat iontest\Midlet.java
git commit -m commit 1 D:\JavaME\MobileApplicationTest\src\res\emo\emo_ru D:\JavaME\MobileApplicationTest\src\res\emo\emo_en D:\JavaME\MobileApplicationTest\src\res\emo\emo_pt D:\JavaME\MobileApplicationTest\src\res\emo\emo_es D:\JavaME\MobileApplicationTest\src\mobileapplicat iontest\Midlet.java
Commit Log
revision : 426aec1084d6906243643e154a03d47836194f34
author : engor <[email protected]>
date : Apr 24, 2014 11:24:27 AM
summary : commit 1

INFO: End of Commit

==[IDE]== Apr 24, 2014 11:24:27 AM Committing... finished.
==[IDE]== Apr 24, 2014 11:26:01 AM Creating Tag
git tag tag1 master
Tag created:
Name : tag1
From : 426aec1084d6906243643e154a03d47836194f34
Id : 426aec1084d6906243643e154a03d47836194f34
User : engor <[email protected]>
Message : commit 1
==[IDE]== Apr 24, 2014 11:26:01 AM Creating Tag finished.
==[IDE]== Apr 24, 2014 11:26:16 AM Committing...
Git Commit
----------
git add D:\JavaME\MobileApplicationTest\src\mobileapplicat iontest\Midlet.java D:\JavaME\MobileApplicationTest\src\res\emo
git rm D:\JavaME\MobileApplicationTest\src\res\emo\emo_ru D:\JavaME\MobileApplicationTest\src\res\emo\emo_en D:\JavaME\MobileApplicationTest\src\res\emo\emo_pt D:\JavaME\MobileApplicationTest\src\res\emo\emo_es
git commit -m commit 2 D:\JavaME\MobileApplicationTest\src\res\emo\emo_ru D:\JavaME\MobileApplicationTest\src\res\emo\emo_en D:\JavaME\MobileApplicationTest\src\res\emo\emo_pt D:\JavaME\MobileApplicationTest\src\res\emo\emo_es D:\JavaME\MobileApplicationTest\src\mobileapplicat iontest\Midlet.java D:\JavaME\MobileApplicationTest\src\res\emo
Commit Log
revision : 01b613d8b43ce94409ff11ea1c8565f030ce5690
author : engor <[email protected]>
date : Apr 24, 2014 11:26:16 AM
summary : commit 2

INFO: End of Commit

==[IDE]== Apr 24, 2014 11:26:16 AM Committing... finished.
==[IDE]== Apr 24, 2014 11:26:33 AM Checkout...
git checkout tag1
src/res/emo
src/res/emo/emo_pt
src/res/emo/emo_ru
src/res/emo/emo_en
src/res/emo/emo_es
src/mobileapplicationtest/Midlet.java
==[IDE]== Apr 24, 2014 11:26:33 AM Checkout... finished.
==[IDE]== Apr 24, 2014 11:27:01 AM Checkout...
git checkout master
src/res/emo/emo_en
src/res/emo/emo_es
src/res/emo/emo_pt
src/res/emo/emo_ru
src/res/emo
src/mobileapplicationtest/Midlet.java
==[IDE]== Apr 24, 2014 11:27:01 AM Checkout... finished.
==[IDE]== Apr 24, 2014 11:27:47 AM Checkout...
git checkout tag1
src/res/emo
src/res/emo/emo_pt
src/res/emo/emo_ru
src/res/emo/emo_en
src/res/emo/emo_es
src/mobileapplicationtest/Midlet.java
==[IDE]== Apr 24, 2014 11:27:47 AM Checkout... finished.
==[IDE]== Apr 24, 2014 11:27:59 AM Checkout...
git checkout master
src/res/emo/emo_en
src/res/emo/emo_es
src/res/emo/emo_pt
src/res/emo/emo_ru
src/res/emo
src/mobileapplicationtest/Midlet.java
==[IDE]== Apr 24, 2014 11:27:59 AM Checkout... finished.


Если есть решение, то поделитесь.

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

Последний раз редактировалось Жека, 24.04.2014 в 09:35.
(Offline)
 
Ответить с цитированием