Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Rant - I hate GIT

Rant - I hate GIT

Scheduled Pinned Locked Moved The Lounge
csharpphpcomcollaborationtutorial
60 Posts 32 Posters 1 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Pete OHanlon

    I'd have to agree though. I prefer Subversion. Once you get a handle on it, it's incredibly simple to use.

    I was brought up to respect my elders. I don't respect many people nowadays.
    CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easier

    D Offline
    D Offline
    dazfuller
    wrote on last edited by
    #37

    I love it personally. Don't get me wrong, I'm quite fond of Subversion as well but Git, Mercurial and Bazaar just fit so much better with the way I work.

    Eagles may soar, but weasels don't get sucked into jet engines

    1 Reply Last reply
    0
    • L lewax00

      Generally I don't need more than a pull to get the code, then commit and push to submit it. I've had a few projects with branches, but I wasn't switching frequently. Maybe I just haven't worked in a large enough project. I'm not sure where my scripts are at the moment though, I fear they may be on my now dead laptop, because that's where I've done most of my Git based work from, but most of them were either just a series of commands I performed routinely (e.g. go to root of git repo, commit all changes, push) with some parameters for branch names, comments, etc. Nothing extremely complicated. I only had a few more complex ones, like one that went back and branched a project I had gotten way ahead on for a class at each commit with a message containing a chapter number (fortunately, I was basically using a template for my commit messages) so I could just checkout the code for that chapter and submit it for grading, and a second to merge back some file adds when I realized I had forgot to add some files to some of the earlier commits rendering many of the older branches uncompilable, but those were one-time scripts that were faster to write than to do manually 20+ times. The second one could probably be modified into a decent merge script if I could find it.

      Marc Clifton wrote:

      I really have no patience for listening to how "it's my workflow."

      I probably could have worded that a bit better, I don't necessarily mean your personal workflow, but also the workflow that's been imposed upon you (similar to the reason why I can't make commits when I would prefer). I don't find myself changing branches often, but our VCS is so messed up that I have to keep a separate local workspace for each branch because switching between them somehow renders the workspace un-buildable, and even simple tasks like merging a change to another branch becomes a real pain. If I had to work in an environment where I was frequently branching and merging on this system I feel that I'd be in the same position, but not at the fault of the VCS system, the problem would be the poorly managed repository (to be honest, no one actually knows how to make it build, everyone just copies a working copy from someone else, checking it out from the repo doesn't work and no one has ever bother to figure out why and fix it...I suspect the reason is buried somewhere in the thousands of build errors that are just ignored).

      M Offline
      M Offline
      Mike Winiberg
      wrote on last edited by
      #38

      WHS!

      L 1 Reply Last reply
      0
      • M Marc Clifton

        This is one of the most pathetically complex things I've ever had to work with. It CONSTANTLY gets in the way of actually getting work done - I spend more time f***ing around with pushes and adds and branches and checkouts that I do actually making code changes!!! What a P.O.S. This diagram[^] near the bottom of the post says it all. Marc

        Reverse Engineering Legacy Applications
        How To Think Like a Functional Programmer
        My Blog
        Computational Types in C# and F#

        J Offline
        J Offline
        Jonathan C Dickinson
        wrote on last edited by
        #39

        The problem with Git is that Linus has been quoted in saying something along the lines of "Git isn't a tool [solution], it's a framework." This lead me to believe that you should really have a few scripts set up that do the heavy-lifting for you. SVN is a tool, it does what it is designed for and nothing more: by using SVN you subscribe the workflow imposed by the SVN developers and have no versatility, where Git can be jimmied into basically any workflow. GitHub for Windows also gets rid of a lot of the pain (really, one-click pushing and pulling) - and it isn't only for GitHub repositories[^]. In a similar light, Microsoft have released the GitHub integration for Visual Studio and I assume it will be of the same caliber (read: simplicity) as TFS. I only drop to the CLI when I really need to these days, and haven't needed to in a couple of months: the Windows tooling is great for it, if you know it's there.

        He who asks a question is a fool for five minutes. He who does not ask a question remains a fool forever. [Chinese Proverb] Jonathan C Dickinson (C# Software Engineer)

        1 Reply Last reply
        0
        • M Marc Clifton

          This is one of the most pathetically complex things I've ever had to work with. It CONSTANTLY gets in the way of actually getting work done - I spend more time f***ing around with pushes and adds and branches and checkouts that I do actually making code changes!!! What a P.O.S. This diagram[^] near the bottom of the post says it all. Marc

          Reverse Engineering Legacy Applications
          How To Think Like a Functional Programmer
          My Blog
          Computational Types in C# and F#

          S Offline
          S Offline
          Stefan_Lang
          wrote on last edited by
          #40

          The biggest potential problem with version control is when people don't use it frequently. People won't use frequently what isn't easy to understand and use. For that reason, if for no other, Subversion >> GIT. If you're working on your own, or within a team where every single member understands how and loves to use GIT, then all the power to you. But if you have only one member in your team that isn't comfortable with it, you're going to have problems, sooner or later.

          1 Reply Last reply
          0
          • L lewax00

            Sounds more like your workflow is the problem to me. I tend to script any repeated tasks with more than a couple steps, so my workflow generally becomes: get latest code -> make changes -> run script to make commits, pushes, etc. which is basically the same as using anything else. Personally, I wish we used Git or Mercurial here, because our commit process strongly discourages putting partially complete things in the repository, and I'd like to have some of the benefits of version control (especially revert) when I'm working on something larger that has be made as one commit to the repository. I wonder if there's a way to set up Git locally to push to CVS...

            D Offline
            D Offline
            Dan Neely
            wrote on last edited by
            #41

            There are Git/Mercurial to SVN bridge tools; you could run one of hte former locally and just push your changes to SVN once you have it finished.

            Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

            1 Reply Last reply
            0
            • M Marc Clifton

              Rutvik Dave wrote:

              Mercurial was very good,

              Never used it, but that's what I've heard too. Then again, that's what I heard about Git. :( Marc

              Reverse Engineering Legacy Applications
              How To Think Like a Functional Programmer
              My Blog
              Computational Types in C# and F#

              D Offline
              D Offline
              Dan Neely
              wrote on last edited by
              #42

              Marc Clifton wrote:

              Rutvik Dave wrote:

              Mercurial was very good,

              Never used it, but that's what I've heard too. Then again, that's what I heard about Git. :(

              I've used Mercurial for a few personal projects and never had any problems. Before starting I read a bunch of Git vs Hg posts and when the two differed found myself in near universal agreement that Hg worked the way I'd expect it to and Git was designed by a bunch of gits. :-\

              Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

              1 Reply Last reply
              0
              • M Marc Clifton

                This is one of the most pathetically complex things I've ever had to work with. It CONSTANTLY gets in the way of actually getting work done - I spend more time f***ing around with pushes and adds and branches and checkouts that I do actually making code changes!!! What a P.O.S. This diagram[^] near the bottom of the post says it all. Marc

                Reverse Engineering Legacy Applications
                How To Think Like a Functional Programmer
                My Blog
                Computational Types in C# and F#

                B Offline
                B Offline
                Bob1000
                wrote on last edited by
                #43

                So I'm not alone - thanks for making me feel better about that! Overall I find most source control a pain (and worry), when they should make life easier. Maybe it's a lack of trust on my part, but I still do a time stamped batch file backup of the source irrespective of using a source control (not GIT!) As for GIT, I just find it too complicated - which means it has a low trust rating in my book, if you can't easily understand a system how can you trust it? As one of our engineers said it must have been named after the characteristics of one (or all) of its designers!

                1 Reply Last reply
                0
                • M Marc Clifton

                  Nagy Vilmos wrote:

                  Good news Marc, there is help[^].

                  In my case, no, because it's a Ruby on Rails app, and I'm using RubyMine as the editor (pretty slick product) but it's figuring out RM's support of Git without first understanding how to use Git from the command line is not a good idea. Once I get the command line stuff under my belt, then I can poke around RM's GUI support and see what it's doing (it has a nice display of what it's telling Git to do.) Marc

                  Reverse Engineering Legacy Applications
                  How To Think Like a Functional Programmer
                  My Blog
                  Computational Types in C# and F#

                  R Offline
                  R Offline
                  Rob Grainger
                  wrote on last edited by
                  #44

                  You're probably already aware, but justin case: Ruby on Rails vulnerability[^]

                  M 1 Reply Last reply
                  0
                  • R Rob Grainger

                    You're probably already aware, but justin case: Ruby on Rails vulnerability[^]

                    M Offline
                    M Offline
                    Marc Clifton
                    wrote on last edited by
                    #45

                    Rob Grainger wrote:

                    Ruby on Rails vulnerability[^]

                    Yes, thank you. I think CP's Insider News posted about this a couple weeks ago. Marc

                    Latest Article: Intertexti - Resurrecting Apple's HyperCard
                    My Blog

                    1 Reply Last reply
                    0
                    • M Marc Clifton

                      lewax00 wrote:

                      get latest code

                      which involves checkouts, fetches, and pulls, none of which make any sense to me in my angry state. I want to simply check out the latest version. How hard should that be?

                      lewax00 wrote:

                      run script to make commits, pushes, etc.

                      The fact that you have SCRIPTS to do those things shows how complex they are. Commit to staging area. Push to remote. Rebase, pull, checkout, WTF??? Again, a simple "commit the changes to the repository" would be sufficient, and again, because I'm so angry that every time I try to start some productive work I end up first spending an hour (YES, A F***ING HOUR) fighting Git, I really have no patience for listening to how "it's my workflow." Maybe tomorrow I'll be in a better mood. Care to share your scripts? I might learn something! Marc

                      Reverse Engineering Legacy Applications
                      How To Think Like a Functional Programmer
                      My Blog
                      Computational Types in C# and F#

                      K Offline
                      K Offline
                      kelton5020
                      wrote on last edited by
                      #46

                      This just shows that your problem isn't really with git, it's with you lack of knowledge of it. I'd imagine you're kind of a green horn to the technology, and you haven't quite figured out how all of these things actually benefit you, if you take a moment to learn them.

                      M 1 Reply Last reply
                      0
                      • M Mike Winiberg

                        WHS!

                        L Offline
                        L Offline
                        lewax00
                        wrote on last edited by
                        #47

                        ...Windows Home Server? Sorry, you lost me on that one... :doh:

                        M 1 Reply Last reply
                        0
                        • M Marc Clifton

                          This is one of the most pathetically complex things I've ever had to work with. It CONSTANTLY gets in the way of actually getting work done - I spend more time f***ing around with pushes and adds and branches and checkouts that I do actually making code changes!!! What a P.O.S. This diagram[^] near the bottom of the post says it all. Marc

                          Reverse Engineering Legacy Applications
                          How To Think Like a Functional Programmer
                          My Blog
                          Computational Types in C# and F#

                          R Offline
                          R Offline
                          RafagaX
                          wrote on last edited by
                          #48

                          Source Control? We don't need stinkin' source control... ;P Seriously, it's my understanding that git is meant to manage multiple branches easily, probably that's why is overly complex for simpler tasks like working in a one shared source tree.

                          CEO at: - Rafaga Systems - Para Facturas - Modern Components for the moment...

                          M 1 Reply Last reply
                          0
                          • L lewax00

                            ...Windows Home Server? Sorry, you lost me on that one... :doh:

                            M Offline
                            M Offline
                            Mike Winiberg
                            wrote on last edited by
                            #49

                            What He Said 8)

                            1 Reply Last reply
                            0
                            • K kelton5020

                              This just shows that your problem isn't really with git, it's with you lack of knowledge of it. I'd imagine you're kind of a green horn to the technology, and you haven't quite figured out how all of these things actually benefit you, if you take a moment to learn them.

                              M Offline
                              M Offline
                              Marc Clifton
                              wrote on last edited by
                              #50

                              kelton5020 wrote:

                              I'd imagine you're kind of a green horn to the technology, and you haven't quite figured out how all of these things actually benefit you, if you take a moment to learn them.

                              Oh, I'm certainly green when it comes to Git. As to version control, I've used it since the days of RCS in DOS. Marc

                              Latest Article: Intertexti - Resurrecting Apple's HyperCard
                              My Blog

                              K 1 Reply Last reply
                              0
                              • M Marc Clifton

                                kelton5020 wrote:

                                I'd imagine you're kind of a green horn to the technology, and you haven't quite figured out how all of these things actually benefit you, if you take a moment to learn them.

                                Oh, I'm certainly green when it comes to Git. As to version control, I've used it since the days of RCS in DOS. Marc

                                Latest Article: Intertexti - Resurrecting Apple's HyperCard
                                My Blog

                                K Offline
                                K Offline
                                kelton5020
                                wrote on last edited by
                                #51

                                Well if you really have, you wouldn't be complaining about not knowing/understanding the terminology :p

                                1 Reply Last reply
                                0
                                • R RafagaX

                                  Source Control? We don't need stinkin' source control... ;P Seriously, it's my understanding that git is meant to manage multiple branches easily, probably that's why is overly complex for simpler tasks like working in a one shared source tree.

                                  CEO at: - Rafaga Systems - Para Facturas - Modern Components for the moment...

                                  M Offline
                                  M Offline
                                  Marc Clifton
                                  wrote on last edited by
                                  #52

                                  RafagaX wrote:

                                  it's my understanding that git is meant to manage multiple branches easily, probably that's why is overly complex for simpler tasks like working in a one shared source tree.

                                  Yes, I would agree. I can see where my idea of working with revision control is different. I rarely would branch my SVN tree, and the idea of keeping local a local repository with all of the local branches and changes on my computer (until they are pushed onto the remote repository) I can see as possibly beneficial but overly complex, and frankly, scares me a bit with regards to losing my work due to a disk failure or the complexity of merging my work if I fall too far behind everyone else's branches. However, having read something recently, I am beginning to change the mental picture I have been holding - namely, that there is also a local repository as well as a remote repository. That helps me understand why a commit doesn't actually get seen on the remote server until a push happens. Marc

                                  Latest Article: Intertexti - Resurrecting Apple's HyperCard
                                  My Blog

                                  1 Reply Last reply
                                  0
                                  • M Marc Clifton

                                    This is one of the most pathetically complex things I've ever had to work with. It CONSTANTLY gets in the way of actually getting work done - I spend more time f***ing around with pushes and adds and branches and checkouts that I do actually making code changes!!! What a P.O.S. This diagram[^] near the bottom of the post says it all. Marc

                                    Reverse Engineering Legacy Applications
                                    How To Think Like a Functional Programmer
                                    My Blog
                                    Computational Types in C# and F#

                                    7 Offline
                                    7 Offline
                                    77465
                                    wrote on last edited by
                                    #53

                                    It looks like you just do not need it. JIT has just 2 strong points - distributed architecture and conflict resolution. You use "I" and not "we" in the post, so it is unlikely that you can benefit from either. Besides these 2 advantages, GIT still retains its nature of a quick hack. I guess this happens because the focus is still on making things possible as opposed to making them easy or forgiving.

                                    M 1 Reply Last reply
                                    0
                                    • 7 77465

                                      It looks like you just do not need it. JIT has just 2 strong points - distributed architecture and conflict resolution. You use "I" and not "we" in the post, so it is unlikely that you can benefit from either. Besides these 2 advantages, GIT still retains its nature of a quick hack. I guess this happens because the focus is still on making things possible as opposed to making them easy or forgiving.

                                      M Offline
                                      M Offline
                                      Marc Clifton
                                      wrote on last edited by
                                      #54

                                      77465 wrote:

                                      You use "I" and not "we" in the post, so it is unlikely that you can benefit from either.

                                      Well, this IS for a project with a couple other devs on it.

                                      77465 wrote:

                                      I guess this happens because the focus is still on making things possible as opposed to making them easy or forgiving.

                                      Those are not mutually exclusive. My client is an expert at Git and whenever he explains something, it all makes sense and I "get it", but then when I try to do something at home, it blows up for me. It's a learning curve, and I've read through books and blog posts, but there is still a disconnect between what I do, that I think is doing it right, and what ends up happening. However, my rant was at the fact that I tried to do everything possible to kill my changes and revert back to the remote repository, to absolutely no avail. I ended up deleting the entire folder and re-cloning it. When I read in the documentation that doing a "reset --hard" (or whatever the syntax is) should kill my local changes, and doing a fetch / pull / checkout should get me to the latest version on the remote, and it obviously didn't work because "git status" still returned all the changes I wanted to throw away, then yes, I rapidly come to the conclusion that it's a pile of s***. Marc

                                      Latest Article: Intertexti - Resurrecting Apple's HyperCard
                                      My Blog

                                      7 1 Reply Last reply
                                      0
                                      • M Marc Clifton

                                        77465 wrote:

                                        You use "I" and not "we" in the post, so it is unlikely that you can benefit from either.

                                        Well, this IS for a project with a couple other devs on it.

                                        77465 wrote:

                                        I guess this happens because the focus is still on making things possible as opposed to making them easy or forgiving.

                                        Those are not mutually exclusive. My client is an expert at Git and whenever he explains something, it all makes sense and I "get it", but then when I try to do something at home, it blows up for me. It's a learning curve, and I've read through books and blog posts, but there is still a disconnect between what I do, that I think is doing it right, and what ends up happening. However, my rant was at the fact that I tried to do everything possible to kill my changes and revert back to the remote repository, to absolutely no avail. I ended up deleting the entire folder and re-cloning it. When I read in the documentation that doing a "reset --hard" (or whatever the syntax is) should kill my local changes, and doing a fetch / pull / checkout should get me to the latest version on the remote, and it obviously didn't work because "git status" still returned all the changes I wanted to throw away, then yes, I rapidly come to the conclusion that it's a pile of s***. Marc

                                        Latest Article: Intertexti - Resurrecting Apple's HyperCard
                                        My Blog

                                        7 Offline
                                        7 Offline
                                        77465
                                        wrote on last edited by
                                        #55

                                        In a sense, yes, it is that pile. When I started using GIT I created a 3 repository model of the real project and tried commands there first. We also had few developers, but thanks to the lack of coordination and frequent changes in specs and overall project direction GIT payed for itself. I guess that was what a much larger and better organized team would experience.

                                        1 Reply Last reply
                                        0
                                        • M Marc Clifton

                                          This is one of the most pathetically complex things I've ever had to work with. It CONSTANTLY gets in the way of actually getting work done - I spend more time f***ing around with pushes and adds and branches and checkouts that I do actually making code changes!!! What a P.O.S. This diagram[^] near the bottom of the post says it all. Marc

                                          Reverse Engineering Legacy Applications
                                          How To Think Like a Functional Programmer
                                          My Blog
                                          Computational Types in C# and F#

                                          M Offline
                                          M Offline
                                          M Badger
                                          wrote on last edited by
                                          #56

                                          From the perspective of someone at the other end of the experience curve, I found Git almost impenetrable - I'm learning French right now (and I'm not a young whipper snapper), Git is harder than an entirely new language as far as I'm concerned. I would guess that if I broke through that outer shell and was already experienced with VCS concepts then Git would be the best choice - it's an assumption since why else would so many people and companies flock to it? I am guessing that the complexity pays back later when you have lots of contributors, branches etc. and maybe Bazaar, Mercurial etc. aren't so capable at that stage..., I have no idea, but there must be some reason! However, the most frequent comment I see and which tallies with my own experience, is "If it was my choice I'd use Mercurial". Mercurial is so much easier to get your head around, hugely helped by TortoiseHg, from total novice to functional in minutes not years. Small plug, not aimed at your level of knowledge, Choosing a Version Control System - A Beginners Tour of the Options[^] What I can't work out is why, if so many folk are saying "I'd choose Mercurial", does everyone choose Git?

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups