Resolved Git basics and speed

Discussion in 'Mac Programming' started by Nermal, Apr 22, 2015.

  1. Nermal Moderator

    Nermal

    Staff Member

    Joined:
    Dec 7, 2002
    Location:
    New Zealand
    #1
    Hi all,

    This isn't technically a Mac programming question (I'm using Windows) but I'm too lazy to find and register on another forum :)

    We've been using SVN (specifically VisualSVN Server plus TortoiseSVN) for several years, but as part of a tool review I've been investigating Git. I've installed Microsoft Team Foundation Server 2013 and have created a Git repository, and have then used TortoiseGit to clone it locally. I've then added a bunch of files to the local copy.

    The first thing I've noticed is that selecting "commit" doesn't actually seem to upload the files to the server. It appears that I need to "push" the changes afterwards. Does anyone know whether it's possible to condense these down to a single operation, like it was with SVN? I've found a couple of things on Google but they all seem to assume Unix-style tools and I have no idea how to adapt them for TotroiseSVN and Team Foundation Server.

    The second thing is that the "push" command is extremely slow. An 800 MB project takes around 50 seconds with SVN, but took a little over 7 minutes to push to Git. Are those sorts of speeds normal, or is there an issue somewhere?

    Thanks :)
     
  2. 960design macrumors 68000

    Joined:
    Apr 17, 2012
    Location:
    Destin, FL
    #2
    Past user of SVN, current ( about last 7 years ) GIT user.

    1) "your doing wrong dummy" ( said like the VVS puppets, tongue in check ).
    2) there are differences in the usage of GIT and SVN, in other words, you should not try to use GIT like you did SVN
    3) I really cannot explain everything about GIT in this post, I could copy and paste tons of SVN to GIT video tutorials, but your time would be better served with a focused search by you


    Really, really short ( meaning vague and not exactly correct) explanation:
    SVN = everything stored off of your computer in a central repository
    GIT = everything is stored locally, and 'committed' when ready

    GIT means faster and more frequent updates for a project, easier to separate and reintegrate alternative workflows ( branches )... for example, Donny really wants to try this kickbutt HTML5 localstorage thing and starts writing tons of code for it, he can keep his stuff local and not 'taint' the central repository, in the end he decides it's crap or cool and can end the branch and get back to work and merge it and get everyone in on the new tech
     
  3. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #3
    I would advise against doing commit -> push.

    commit -> pull w/rebase -> push

    In the event that there are conflicts, they're much easier to deal with in a pull than a push, in my experience.
     
  4. Nermal thread starter Moderator

    Nermal

    Staff Member

    Joined:
    Dec 7, 2002
    Location:
    New Zealand
    #4
    Thanks for the responses. As you may have guessed, this was the boss saying "look at Git", but the more I read about it, the more I feel that it's not a good fit for the team. I'll put this down as "resolved" :)
     

Share This Page