Please upgrade here. These earlier versions are no longer being updated and have security issues.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Some help with GitHub

edited March 2011 in Vanilla 2.0 - 2.8
@Mark
Is it possible to write small instruction, so people could follow it and get properly forked Garden repositoty, local repository, and necessary remote to watch for changes in original?

I found some info here
http://help.github.com/fork-a-repo/

But I am using msysgit and TortoiseGit (btw, setting this up, especiall generating keys via commands line still, is not so easy, comparing to SVN) and stuck at setting proper remote to allow me to track changes in original repository.

Comments

  • lucluc ✭✭
    To track changes, just subscribe to the RSS (or Atom) feed.
  • @luc
    What do you mean under "subscribe to the RSS"?
    I need changes in original repository to be propagated to my forked one.

    I want to setup to work as the following:
    I'll work locally on my repository.
    While my github repository will track changes made in unstable branch.
    From time to time I want to pull data from it and merge with my own changes.
  • lucluc ✭✭
    @luc
    What do you mean under "subscribe to the RSS"?
    I need changes in original repository to be propagated to my forked one.

    I want to setup to work as the following:
    I'll work locally on my repository.
    While my github repository will track changes made in unstable branch.
    From time to time I want to pull data from it and merge with my own changes.
    Well, you said you wanted to track changes, changes are posted on the rss feeds, I stay informed that way.

    You can't propagate changes automatically once forked, merge process is always manual.
  • OK.

    If I make new branch and will use
    $ git fetch upstream
    $ git merge upstream/master
    to merge all changes to master branch.

    And later do manual merge with my own branch.
  • lucluc ✭✭
    Well, what I will do, if I wanted to easily update from their changes.
    Clone the vanillaforums repo, create a local branch to use for local changes.
    I guess, you can still fetch/merge master/unstable from there with no pain.
    And then merge from there to your local branch. With that, you will also be able to push to your repo on github easily.
    The only thing with that kind of thing is that you will lots of merge commit in your local branch, and aesthetically, I don't like that :)

    caveat: not an expert on git though. That's what I reckon from my current exposure from it.
  • Thanks.
    I hope to get few more advices how to set up painless workflow.
    I think that this info will be also useful for other new developers.
    Later I'll try to make small page for dummies, like me, about installation and setitngs on wiki.
  • Yeah, but this looks like too compex for my task.
    Looks like making branch based on unstable and

    $ git merge remotes/origin/unstable

    from time to time, could make things work.

    Or I am wrong here?
  • Pull from Vanilla's repo, push to yours.
  • LincLinc Admin
    edited March 2011
    PS: I recommend against using a GUI like Tortoise. It makes it easier in the short-term, but you won't get as proficient at it long-term. Also, we've had problems in my shop with it (allegedly) corrupting repos (they were able to be fixed by reverting and cherry-picking but what a PITA).

    For defining remotes, I name them for the user. So I do 'git remote add vf git@...' for Vanilla's main repo and 'git remote add linc git@...' for my fork.

    Then I do 'git pull vf unstable' to grab what's new and do 'git push linc unstable' to update my fork. Your local repo on your computer acts as the intermediary.
  • Yeah, DVCS like GIT is kind of weird after SVN :-)

    My understanding is $git pull is the same as $git fetch followed with $git merge.

    So, my general workflow will look as follows:

    1) I'l be having two (may be more later) branches for Vanilla - unstable and myunstable
    2) $git pull to unstable brance from remote Vanilla repository (same unstable branch).
    3) Periodic $git merge of unstable to myunstable integrating changes ade by development team with my own changes.
    4) And sometimes, at milestones, $git push to my remove repository.
  • SS ✭✭
    I recomend smartgit. Crossplatform, free (for non-commercial use)
    http://www.syntevo.com/smartgit/index.html
  • Thanks, I'll try it.
    While I don't normally like java software this seems to be product without any real native alternatives.
Sign In or Register to comment.