У меня есть несколько вопросов о Grit / Git, с которыми я надеюсь, вы сможете мне помочь. Вот мой код:
# create Repo
r = Repo.init_bare 'myrepo.git'
i = r.index
# first commit to master
i.add('myfile.txt', 'my file contents')
i.commit("This is my commit")
# second commit to master
i.read_tree("master")
i.add('myfile2.txt', 'my file 2 contents')
i.commit("This is my second commit", [r.commits.first])
# first commit to newbranch
i.read_tree("master")
i.add('myfile3.txt', 'my file 3 contents')
i.commit("This is my third commit", [r.commits.first], nil, nil, 'newbranch')
# second commit to newbranch
i.read_tree("newbranch")
i.add('myfile4.txt', 'my file 4 contents')
i.commit("This is my fourth commit", [r.commit("newbranch")], nil, nil, 'newbranch')
С помощью этого кода я пытаюсь создать репо, дважды зафиксировать мастер, создать новую ветку от мастера и дважды зафиксировать эту ветку. Но проблема в том, что когда я делаю это:
r.commits("newbranch") # => 3
Там написано, что на "newbranch" есть только 3 коммита. Это оставляет второй коммит на мастере. Это почему? Что-то не так с моим кодом?
Больше всего меня смущает то, как указать родительский коммит при разветвлении и при втором коммите на "newbranch".
Надеюсь, вы сможете помочь. Спасибо