Git checkout ничего не меняет

Мне очень нравится git. По крайней мере, мне нравится идея git. Возможность проверить свой главный проект как отдельную ветку, где я могу изменить все, что захочу, без риска испортить все остальное - это здорово. Но это не работает.

В основном мой рабочий процесс выглядит так:

  1. Оформить стабильную версию в новую ветку, чтобы поэкспериментировать с новым кодом
  2. Внесите кучу изменений - я не собираюсь ничего из этого сохранять, я просто экспериментирую .
  3. Посмотрите на все, что я изменил
  4. Добавить все изменения для отслеживания
  5. Зафиксируйте ветвь и отправьте ветвь в исходную точку (если она сработала, в противном случае пропустите этот шаг)
  6. Решите попробовать другой метод , вернитесь к мастеру
  7. Наблюдайте за артефактами из экспериментальной ветки, в которой я работал, даже если я нахожусь в главной ветке.

Каждый раз, когда я пересылаю ветку в другую ветку, вношу изменения в одну ветвь и затем проверьте исходную ветку, у меня все еще есть все файлы и изменения, которые произошли в другой ветке. Это очень расстраивает. Я' я читал, что это может произойти, когда у вас есть файлы, открытые в среде IDE при этом, но я был очень осторожен с этим, и оба закрыли файлы в среде IDE, закрыли среду IDE и выключили мой сервер rails перед переключением ветвей, и это все еще происходит. Кроме того, запуск git clean -f либо удаляет все, что произошло после некоторой произвольной фиксации (причем случайным образом), либо, как в последнем случае, ничего не меняет обратно в исходное состояние.

Я думал, что использую git правильно, но сейчас я уже на грани ума. Я пытаюсь работать с кучей экспериментального кода, используя стабильную версию своего проекта, но мне постоянно приходится вручную отслеживать и исправлять все внесенные мной изменения. Есть идеи или предложения?

git checkout -b photo_tagging
git branch # to make sure it's right
# make a bunch of changes, creations, etc
git status # see what's changed since before
git add . # approve of the changes, I guess, since if I do git commit after this, it says no changes
git commit -m 'these are changes I made'

git checkout master
git branch #=> *master

# look at files, tags_controller is still there, added in photo_tagging
# and code added in photo_tagging branch are still there in *master

Кажется, это происходит независимо от того, делаю ли я коммит в ветке или нет. Но у меня проблема в том, что порядок ключей теряется после преобразования. Это ...

Я использую предоставленную здесь библиотеку JSON http://www.json.org/java/index.html для преобразования имеющейся у меня строки json в CSV. But the problem I have is, the order of the keys is lost after conversion.

This is the conversion code:

    JSONObject jo = new JSONObject(someString);
    JSONArray ja = jo.getJSONArray("items");
    String s = CDL.toString(ja);
    System.out.println(s);

This is the content of "someString":

{
    "items":
    [
        {
            "WR":"qwe",
            "QU":"asd",
            "QA":"end",
            "WO":"hasd",
            "NO":"qwer"
        },
    ]
}

This is the result:

WO,QU,WR,QA,NO
hasd,asd,qwe,end,qwer

While what I expect is to keep the order of the keys:

WR,QU,QA,WO,NO
qwe,asd,end,hasd,qwer

Is there any way I can have this result using this library? If not, is there any other library that will provide the capability to keep the order of keys in the result?

75
задан Hery 23 December 2010 в 03:40
поделиться