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. GIT Time again - what am I missing?

GIT Time again - what am I missing?

Scheduled Pinned Locked Moved The Lounge
collaborationannouncementcsharpvisual-studiosysadmin
70 Posts 28 Posters 6 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.
  • J jschell

    charlieg wrote:

    Exactly what am I missing? I simply do not see anything significant git brings to the table that svn does not

    The origination of GIT was specifically aimed at online open source projects. Git - A Short History of Git[^] The only significant problem I have encountered with git is that it does not work well with Enterprise development. In an ideal Enterprise world one would have the following - Strict boundary breakdowns - Teams working on libraries - Applications using libraries by version For git the above works well because a library is then just a repo. And a deliverable. However that ideal is not what happens. Even modestly sized business multiple applications (product or service is still an application) are a norm. With SVN that works as follows. - library code goes into its own folder tree - Apps each go into their own folder - An app folder and associated folders is labeled for a build. The means that the library code moves forward but it is labeled independently for each app. It is NOT possible to do the above with GIT. There is one label for the entire repo. So one often ends up with a mix of idioms. Perhaps one library in its own repo. But other libraries might be copied. Or two or more apps end up in the same repo. And a repo explosion without tracking can also occur. Where one offs end up in their own repo. With SVN it would just go in a new folder. Of course people will complain that that last case is a problem. So it is. But creating new GIT repos every single time without any coherent tracking is also a problem. (I have seen developers create repos just to experiment and then the repo gets abandoned.) --------------------------------------------------------- As for losing source control due to problems with a specific source control solution ... Long ago losing databases was also a problem. Forums would always have someone asking how to restore corrupted databases. That was true for every database vendor. I haven't seen anything like that for years. But also true that now people always back up their databases. Source control is NOT a back up. But many places treat it has such. Even now.

    E Offline
    E Offline
    englebart
    wrote on last edited by
    #40

    I am hoping the use of sub modules will solve this. One repo for the Solution, it just tracks all of the other required repos (libraries) at the needed release levels.

    1 Reply Last reply
    0
    • J jschell

      charlieg wrote:

      Exactly what am I missing? I simply do not see anything significant git brings to the table that svn does not

      The origination of GIT was specifically aimed at online open source projects. Git - A Short History of Git[^] The only significant problem I have encountered with git is that it does not work well with Enterprise development. In an ideal Enterprise world one would have the following - Strict boundary breakdowns - Teams working on libraries - Applications using libraries by version For git the above works well because a library is then just a repo. And a deliverable. However that ideal is not what happens. Even modestly sized business multiple applications (product or service is still an application) are a norm. With SVN that works as follows. - library code goes into its own folder tree - Apps each go into their own folder - An app folder and associated folders is labeled for a build. The means that the library code moves forward but it is labeled independently for each app. It is NOT possible to do the above with GIT. There is one label for the entire repo. So one often ends up with a mix of idioms. Perhaps one library in its own repo. But other libraries might be copied. Or two or more apps end up in the same repo. And a repo explosion without tracking can also occur. Where one offs end up in their own repo. With SVN it would just go in a new folder. Of course people will complain that that last case is a problem. So it is. But creating new GIT repos every single time without any coherent tracking is also a problem. (I have seen developers create repos just to experiment and then the repo gets abandoned.) --------------------------------------------------------- As for losing source control due to problems with a specific source control solution ... Long ago losing databases was also a problem. Forums would always have someone asking how to restore corrupted databases. That was true for every database vendor. I haven't seen anything like that for years. But also true that now people always back up their databases. Source control is NOT a back up. But many places treat it has such. Even now.

      C Offline
      C Offline
      charlieg
      wrote on last edited by
      #41

      "source control is not a backup" true words. But I have it on IT's assurance that they are imaging the VM server hosting our code. Years ago, I submitted an IT ticket to verify our backups. This created a tornado of panic. What do you mean the backup is bad? No, I asked you how do you know it's good. As for your other comments about libraries and common code bases, well I gave up on that 10 years ago. ctrl-c/ctrl-v is our inheritance process :(. I'll admit that we're a very embedded product oriented shop, but I'd still like to see common code isolated to one area. Like I do, but I lost that battle long ago.

      Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.

      J 1 Reply Last reply
      0
      • C charlieg

        See that's the other thing. I would NEVER have company code out on GitHub. Source code is the Crown Jewels and the jewels stay on the premises. I do know you can set up your own server locally, or I think I read about that.

        Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.

        J Offline
        J Offline
        Jeremy Falcon
        wrote on last edited by
        #42

        GitHub does allow for private repos btw. If that's the concern. I mean, the code is still on their servers though, but at least it can be marked as private if desired.

        Jeremy Falcon

        1 Reply Last reply
        0
        • C charlieg

          See that's the other thing. I would NEVER have company code out on GitHub. Source code is the Crown Jewels and the jewels stay on the premises. I do know you can set up your own server locally, or I think I read about that.

          Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.

          M Offline
          M Offline
          Maximilien
          wrote on last edited by
          #43

          Github is not just public repositories, it makes most of its money by hosting private repositories. You can use other services like Azure or Bitbucket. Or even self host.

          CI/CD = Continuous Impediment/Continuous Despair

          C 1 Reply Last reply
          0
          • M Maximilien

            Github is not just public repositories, it makes most of its money by hosting private repositories. You can use other services like Azure or Bitbucket. Or even self host.

            CI/CD = Continuous Impediment/Continuous Despair

            C Offline
            C Offline
            charlieg
            wrote on last edited by
            #44

            sorry. Microsoft bought GitHub in 2018. Microsoft is the "most public" fluster cluck of security that I can even imagine, not that they are alone. I'd not trust HP nor Amazon with the Crown Jewels. I want that one person or small group in my company understanding they are not going to lose a contract, they are going to be summarily terminated for not doing their job. It's down toward the bottom of the list to research - offsite GitHub repositories, but every fiber of my being says no. If I could put a private GitHub repo behind my firewall and on my network - fine. Companies hosting this out in "the cloud" are out of their elephanting mind.

            Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.

            1 Reply Last reply
            0
            • C charlieg

              Okay, based on Jeremy's and other comments, I think I may be close to understanding what GIT does better than SVN or any other centralized server system... When a developer wants to do work, they pull a working copy. It's local to their machine. All of their work - commits and what not occur to the local copy. The changes do NOT go back to the repo until they push. When they push, the code changes, the history, etc go with the push. Do I have this correct? Going to go read some GIT doc.

              Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.

              L Offline
              L Offline
              Lost User
              wrote on last edited by
              #45

              Sounds like how I work. I tool away for a couple of days; if I was on the right track, I compile, zip and save that version to a remote drive with a dated file name. Or start over. Repeat evey few days. No branches, twigs, leafs, buds, flowers, weeds. Sort of like how we did backups in the "old days". Except there are no carts with card trays or portable disk packs.

              "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

              S C 2 Replies Last reply
              0
              • L Lost User

                Sounds like how I work. I tool away for a couple of days; if I was on the right track, I compile, zip and save that version to a remote drive with a dated file name. Or start over. Repeat evey few days. No branches, twigs, leafs, buds, flowers, weeds. Sort of like how we did backups in the "old days". Except there are no carts with card trays or portable disk packs.

                "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

                S Offline
                S Offline
                S B
                wrote on last edited by
                #46

                I guess. Except we're all driving around in Teslas and you're Fred Flintstone in your feet powered car :laugh:

                1 Reply Last reply
                0
                • C charlieg

                  So, as a side project, I've been delving into the git source control world (triggered by Visual Studio incorporating it), and I'm smelling something nasty. As in, what's the point, other than preference? I've insisted all of my development projects be in source control since the mid 80s. Back then, we were heavily developing on VMS, the version control system was CMS. I'm not sure back then we had the concept of branches and what not, but we could tag the code base for a specific release. I ran into one developer who kept his changes as file versions - it's a VMS thing. All it took was one purge command to lose ALL of the history.. shudder. Anyway.... So in the years to follow, I've motored through PVCS, ClearCase (shudder), VSS and SVN. After VSS burned me badly (there are many unflattering stories out there) due to a network outage, I transitioned all of my source control to svn. Supports concurrent development, tags, branches and merging and is far more robust than VSS. This would be about 15 years ago or so. Along comes this git upstart. And all of the comparisons between it and svn generally say git is better for concurrent development, blah blah blah. Oh and it's a distributed model. And it allows for branching, etc. Just like SVN. Exactly what am I missing? I simply do not see anything significant git brings to the table that svn does not. I nod to preferences, but can anyone provide real world examples of how git solved a version control problem better than svn? The most common "feature" articles say about git is some mumbling about not needing a central repo which makes no sense to me. Appreciate your thoughts.

                  Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.

                  M Offline
                  M Offline
                  Mateusz Jakub
                  wrote on last edited by
                  #47

                  I was using SVN briefly when I was on first job after university so I might not remember it correctly but I remember frustrations it was giving me and I hated it with every piece of my body. Using GIT was a breeze and I instantly got the mental model, so I might be biased for using it for last 14 years and remembering SVN workflow as workflow from hell. So I have a lot to write on the topic - because I feel that GIT is just so much better and it makes me much better developer and development so much easier. Let's start with not needing connection to the server to be able to create commits. When internet is down I still can create commits move them around and publish to server when I want not when SVN wants. Also if I have it locally it is much faster to commit anything than over the network. (almost no one uses fully distributed workflow so yeah) Branching is something you just do in GIT and you don't have to ask anyone because branches don't live on the server. I can do 10 commits then go back to starting point and make new branch in matter of minutes and have different approach developed, I can delete local branch that I don't like and publish stuff I do like. No one will ever see it. Conflicts, I can fetch changes from remote repository and have my local branch separate, I can keep on working on my stuff until I want to merge things while also having possibility to easily switch to. With SVN I am forced to deal with stuff even when I am half way done but I also want to check what is there so I could prepare for it. In general mental model for having undo outside code editor that I can view and cherry pick, staging chunks of files to move parts of my development outside of IDE - because some things can be added by IDE and I can control what I publish in perfect way gives me ease of mind. Where SVN tooling was rudimentary at best, maybe it changed as I not used it.

                  C 1 Reply Last reply
                  0
                  • C charlieg

                    So, as a side project, I've been delving into the git source control world (triggered by Visual Studio incorporating it), and I'm smelling something nasty. As in, what's the point, other than preference? I've insisted all of my development projects be in source control since the mid 80s. Back then, we were heavily developing on VMS, the version control system was CMS. I'm not sure back then we had the concept of branches and what not, but we could tag the code base for a specific release. I ran into one developer who kept his changes as file versions - it's a VMS thing. All it took was one purge command to lose ALL of the history.. shudder. Anyway.... So in the years to follow, I've motored through PVCS, ClearCase (shudder), VSS and SVN. After VSS burned me badly (there are many unflattering stories out there) due to a network outage, I transitioned all of my source control to svn. Supports concurrent development, tags, branches and merging and is far more robust than VSS. This would be about 15 years ago or so. Along comes this git upstart. And all of the comparisons between it and svn generally say git is better for concurrent development, blah blah blah. Oh and it's a distributed model. And it allows for branching, etc. Just like SVN. Exactly what am I missing? I simply do not see anything significant git brings to the table that svn does not. I nod to preferences, but can anyone provide real world examples of how git solved a version control problem better than svn? The most common "feature" articles say about git is some mumbling about not needing a central repo which makes no sense to me. Appreciate your thoughts.

                    Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.

                    P Offline
                    P Offline
                    Peter Adam
                    wrote on last edited by
                    #48

                    With git, you get two vcs for the price of one. You have a local one and probably a remote one. At work asking for a repo was heavy paperwork. With svn I had no opportunity to put my small projects into version control. With git I can create a local repo without involving paperwork or someone from the sudoers group. In git, the master repo can be protected by using pull requests instead of just giving rights to push into the master repo.

                    C 1 Reply Last reply
                    0
                    • C charlieg

                      See that's the other thing. I would NEVER have company code out on GitHub. Source code is the Crown Jewels and the jewels stay on the premises. I do know you can set up your own server locally, or I think I read about that.

                      Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.

                      S Offline
                      S Offline
                      Stuart Dootson
                      wrote on last edited by
                      #49

                      charlieg wrote:

                      I do know you can set up your own server locally

                      You certainly can - I have a Git server on my Synology NAS as a local backup, and I've had a locally installed instance of [Gitea](https://docs.gitea.com/next/category/installation) in the past.

                      Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p

                      1 Reply Last reply
                      0
                      • C charlieg

                        So, as a side project, I've been delving into the git source control world (triggered by Visual Studio incorporating it), and I'm smelling something nasty. As in, what's the point, other than preference? I've insisted all of my development projects be in source control since the mid 80s. Back then, we were heavily developing on VMS, the version control system was CMS. I'm not sure back then we had the concept of branches and what not, but we could tag the code base for a specific release. I ran into one developer who kept his changes as file versions - it's a VMS thing. All it took was one purge command to lose ALL of the history.. shudder. Anyway.... So in the years to follow, I've motored through PVCS, ClearCase (shudder), VSS and SVN. After VSS burned me badly (there are many unflattering stories out there) due to a network outage, I transitioned all of my source control to svn. Supports concurrent development, tags, branches and merging and is far more robust than VSS. This would be about 15 years ago or so. Along comes this git upstart. And all of the comparisons between it and svn generally say git is better for concurrent development, blah blah blah. Oh and it's a distributed model. And it allows for branching, etc. Just like SVN. Exactly what am I missing? I simply do not see anything significant git brings to the table that svn does not. I nod to preferences, but can anyone provide real world examples of how git solved a version control problem better than svn? The most common "feature" articles say about git is some mumbling about not needing a central repo which makes no sense to me. Appreciate your thoughts.

                        Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.

                        U Offline
                        U Offline
                        User 13062550
                        wrote on last edited by
                        #50

                        I used to use SVN years ago. I recall there were a few minor annoyances, but by and large it was a good bit of kit, and TortoiseSVN was a good UI. In more recent years I've used Mercurial. Like Git it lets you have one (or many) local copies of everything on the server, which can be handy for speed or if you might have periods where you can't access the server. It also means that if the server catches fire, there's a fair chance people will have a copy of the source code somewhere. TortoiseHg has Mercurial covered. It's a good UI and like SVN, things work pretty smoothly most of the time. Fairly recently our team moved to Git. So far it seems very much that "Git" is rhyming slang. The Tortoise offering offers far less for Git. There are a lot of Git UIs out there, but it's tough to find a good one, especially if it needs to be free. Visual Studio does sort of okay on that front. As a result, I do a lot on the command line when using Git. Git's concept of branches, to me at least, seems far weaker than Mercurial's. It just seems to keep a record of the latest changeset for each branch and keeps a record of the parent changeset. Finding your branch's parent branch is at best tricky, at worst impossible. For me, Git has few if any advantages over Mercurial, and as a bonus has an unpleasant learning curve and unnecessary complexity. The whole world apparently disagrees with me, but I wouldn't recommend it to anyone as long as Mercurial is available. But if SVN is serving you, there's no shame in sticking with what you know, either. You could give Git or Mercurial a test drive on a personal/mini project if you want to see if the grass is truly greener (spoiler: with Git, it's less grass and more wasteland with bonus fly-tipping).

                        1 Reply Last reply
                        0
                        • C charlieg

                          So, as a side project, I've been delving into the git source control world (triggered by Visual Studio incorporating it), and I'm smelling something nasty. As in, what's the point, other than preference? I've insisted all of my development projects be in source control since the mid 80s. Back then, we were heavily developing on VMS, the version control system was CMS. I'm not sure back then we had the concept of branches and what not, but we could tag the code base for a specific release. I ran into one developer who kept his changes as file versions - it's a VMS thing. All it took was one purge command to lose ALL of the history.. shudder. Anyway.... So in the years to follow, I've motored through PVCS, ClearCase (shudder), VSS and SVN. After VSS burned me badly (there are many unflattering stories out there) due to a network outage, I transitioned all of my source control to svn. Supports concurrent development, tags, branches and merging and is far more robust than VSS. This would be about 15 years ago or so. Along comes this git upstart. And all of the comparisons between it and svn generally say git is better for concurrent development, blah blah blah. Oh and it's a distributed model. And it allows for branching, etc. Just like SVN. Exactly what am I missing? I simply do not see anything significant git brings to the table that svn does not. I nod to preferences, but can anyone provide real world examples of how git solved a version control problem better than svn? The most common "feature" articles say about git is some mumbling about not needing a central repo which makes no sense to me. Appreciate your thoughts.

                          Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.

                          D Offline
                          D Offline
                          Davyd McColl
                          wrote on last edited by
                          #51

                          Subversion is not distributed. What this means practically is that there's no command like "git push", and this means that committing requites a working network connection to the source control server. You can't rewrite history, because every commit immediately goes to the server. You can't commit when not online, so you're forced to be on a reliable connection if you want to have small, clean commits. And if the upstream subversion server dies, the history is gone, where with git, every client that clones with the default options has a full copy of the history. There are other subtleties, but the above are a large part of why got was created for and adopted by Linux kernel maintainers by Linus himself.

                          ------------------------------------------------ If you say that getting the money is the most important thing You will spend your life completely wasting your time You will be doing things you don't like doing In order to go on living That is, to go on doing things you don't like doing Which is stupid. - Alan Watts https://www.youtube.com/watch?v=-gXTZM\_uPMY

                          1 Reply Last reply
                          0
                          • C charlieg

                            So, as a side project, I've been delving into the git source control world (triggered by Visual Studio incorporating it), and I'm smelling something nasty. As in, what's the point, other than preference? I've insisted all of my development projects be in source control since the mid 80s. Back then, we were heavily developing on VMS, the version control system was CMS. I'm not sure back then we had the concept of branches and what not, but we could tag the code base for a specific release. I ran into one developer who kept his changes as file versions - it's a VMS thing. All it took was one purge command to lose ALL of the history.. shudder. Anyway.... So in the years to follow, I've motored through PVCS, ClearCase (shudder), VSS and SVN. After VSS burned me badly (there are many unflattering stories out there) due to a network outage, I transitioned all of my source control to svn. Supports concurrent development, tags, branches and merging and is far more robust than VSS. This would be about 15 years ago or so. Along comes this git upstart. And all of the comparisons between it and svn generally say git is better for concurrent development, blah blah blah. Oh and it's a distributed model. And it allows for branching, etc. Just like SVN. Exactly what am I missing? I simply do not see anything significant git brings to the table that svn does not. I nod to preferences, but can anyone provide real world examples of how git solved a version control problem better than svn? The most common "feature" articles say about git is some mumbling about not needing a central repo which makes no sense to me. Appreciate your thoughts.

                            Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.

                            M Offline
                            M Offline
                            Myron Dombrowski
                            wrote on last edited by
                            #52

                            Git is an excellent tool for a very specific use case that 99.9% of projects don’t fall into. It’s great if you have a massive source base with many geographically dispersed contributors who don’t always have reliable Internet connectivity. Vastly overcomplicated, IMO for anything else.

                            1 Reply Last reply
                            0
                            • C charlieg

                              So, as a side project, I've been delving into the git source control world (triggered by Visual Studio incorporating it), and I'm smelling something nasty. As in, what's the point, other than preference? I've insisted all of my development projects be in source control since the mid 80s. Back then, we were heavily developing on VMS, the version control system was CMS. I'm not sure back then we had the concept of branches and what not, but we could tag the code base for a specific release. I ran into one developer who kept his changes as file versions - it's a VMS thing. All it took was one purge command to lose ALL of the history.. shudder. Anyway.... So in the years to follow, I've motored through PVCS, ClearCase (shudder), VSS and SVN. After VSS burned me badly (there are many unflattering stories out there) due to a network outage, I transitioned all of my source control to svn. Supports concurrent development, tags, branches and merging and is far more robust than VSS. This would be about 15 years ago or so. Along comes this git upstart. And all of the comparisons between it and svn generally say git is better for concurrent development, blah blah blah. Oh and it's a distributed model. And it allows for branching, etc. Just like SVN. Exactly what am I missing? I simply do not see anything significant git brings to the table that svn does not. I nod to preferences, but can anyone provide real world examples of how git solved a version control problem better than svn? The most common "feature" articles say about git is some mumbling about not needing a central repo which makes no sense to me. Appreciate your thoughts.

                              Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.

                              S Offline
                              S Offline
                              Steve Naidamast
                              wrote on last edited by
                              #53

                              Whenever I want to use source-control, I use my SVN that is installed on my own server. However, I have used it with production projects in the past and it works just fine for concurrent development and anything else one may need. Git is Microsoft's replacement where everything is saved online, unless you install Git to a local server. Many don't, so Microsoft gets access to a lot of the source-code that is part of Open Source projects. I find SVN very straight forward to use, once I figure out the links that I have forgotten. However, Git is a completely new ball of wax that I would rather pass on...

                              Steve Naidamast Sr. Software Engineer Black Falcon Software, Inc. blackfalconsoftware@outlook.com

                              1 Reply Last reply
                              0
                              • C charlieg

                                So, as a side project, I've been delving into the git source control world (triggered by Visual Studio incorporating it), and I'm smelling something nasty. As in, what's the point, other than preference? I've insisted all of my development projects be in source control since the mid 80s. Back then, we were heavily developing on VMS, the version control system was CMS. I'm not sure back then we had the concept of branches and what not, but we could tag the code base for a specific release. I ran into one developer who kept his changes as file versions - it's a VMS thing. All it took was one purge command to lose ALL of the history.. shudder. Anyway.... So in the years to follow, I've motored through PVCS, ClearCase (shudder), VSS and SVN. After VSS burned me badly (there are many unflattering stories out there) due to a network outage, I transitioned all of my source control to svn. Supports concurrent development, tags, branches and merging and is far more robust than VSS. This would be about 15 years ago or so. Along comes this git upstart. And all of the comparisons between it and svn generally say git is better for concurrent development, blah blah blah. Oh and it's a distributed model. And it allows for branching, etc. Just like SVN. Exactly what am I missing? I simply do not see anything significant git brings to the table that svn does not. I nod to preferences, but can anyone provide real world examples of how git solved a version control problem better than svn? The most common "feature" articles say about git is some mumbling about not needing a central repo which makes no sense to me. Appreciate your thoughts.

                                Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.

                                C Offline
                                C Offline
                                Chris SAS
                                wrote on last edited by
                                #54

                                Is Git superior to all of those systems that came before it? Maybe, but it doesn't matter. What's important is all of the tooling and devops processes that are now based on Git and the services that have been built around it. That's what makes it essential for most software/IT shops these days. A few years ago I made a tutorial for our users who had the same question as you...what is this and why should I care?

                                C 1 Reply Last reply
                                0
                                • C Chris SAS

                                  Is Git superior to all of those systems that came before it? Maybe, but it doesn't matter. What's important is all of the tooling and devops processes that are now based on Git and the services that have been built around it. That's what makes it essential for most software/IT shops these days. A few years ago I made a tutorial for our users who had the same question as you...what is this and why should I care?

                                  C Offline
                                  C Offline
                                  cegarman
                                  wrote on last edited by
                                  #55

                                  Greetings, I have to say it ... Its time to Git goin.... :cool:

                                  Cegarman document code? If it's not intuitive, you're in the wrong field :D Welcome to my Chaos and Confusion!

                                  1 Reply Last reply
                                  0
                                  • C charlieg

                                    "source control is not a backup" true words. But I have it on IT's assurance that they are imaging the VM server hosting our code. Years ago, I submitted an IT ticket to verify our backups. This created a tornado of panic. What do you mean the backup is bad? No, I asked you how do you know it's good. As for your other comments about libraries and common code bases, well I gave up on that 10 years ago. ctrl-c/ctrl-v is our inheritance process :(. I'll admit that we're a very embedded product oriented shop, but I'd still like to see common code isolated to one area. Like I do, but I lost that battle long ago.

                                    Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.

                                    J Offline
                                    J Offline
                                    jschell
                                    wrote on last edited by
                                    #56

                                    charlieg wrote:

                                    Like I do, but I lost that battle long ago.

                                    Did you mention due diligence and legal costs associated with copyright violations? I like to point that out when someone complains because I insist the find the license. That due diligence comment really makes C level execs perk up.

                                    C E 2 Replies Last reply
                                    0
                                    • G GuyThiebaut

                                      When we were using SVN, I still have it on my local machine, we could do all the work locally too. Perhaps an advantage of Git, which I missed is the concept of the PR (Pull Request). With SVN we were able to commit to trunk without any sort of approval. So I could get changes through to production without anyone else seeing the changes. With Git nothing get's merged into Main unless it has been code reviewed and the PR has been approved. This is a really useful safety net meaning at least one other person has looked at our changes before they are allowed to be merged into Main/Trunk.

                                      “That which can be asserted without evidence, can be dismissed without evidence.”

                                      ― Christopher Hitchens

                                      A Offline
                                      A Offline
                                      Al Gonzalez
                                      wrote on last edited by
                                      #57

                                      With Git you don't just have all the code on your local machine, you also have (or can have) all the branches, versions and tags on the local machine. That way you can compare or even revert code with any prior version without connecting a centralized server. Now when you want to share your changes, you can connect and push to say GitHub and pull to get changes from other users. Branching in Git is also more lightweight since it isn't a full copy of the code base. BTW, while PRs are useful and desirable when working with other developers, they are a feature of online git services like Github and Gitlab not Git itself. Depending on your settings/configuration, you CAN push changes to main (trunk) without anybody seeing it first.

                                      1 Reply Last reply
                                      0
                                      • C charlieg

                                        So, as a side project, I've been delving into the git source control world (triggered by Visual Studio incorporating it), and I'm smelling something nasty. As in, what's the point, other than preference? I've insisted all of my development projects be in source control since the mid 80s. Back then, we were heavily developing on VMS, the version control system was CMS. I'm not sure back then we had the concept of branches and what not, but we could tag the code base for a specific release. I ran into one developer who kept his changes as file versions - it's a VMS thing. All it took was one purge command to lose ALL of the history.. shudder. Anyway.... So in the years to follow, I've motored through PVCS, ClearCase (shudder), VSS and SVN. After VSS burned me badly (there are many unflattering stories out there) due to a network outage, I transitioned all of my source control to svn. Supports concurrent development, tags, branches and merging and is far more robust than VSS. This would be about 15 years ago or so. Along comes this git upstart. And all of the comparisons between it and svn generally say git is better for concurrent development, blah blah blah. Oh and it's a distributed model. And it allows for branching, etc. Just like SVN. Exactly what am I missing? I simply do not see anything significant git brings to the table that svn does not. I nod to preferences, but can anyone provide real world examples of how git solved a version control problem better than svn? The most common "feature" articles say about git is some mumbling about not needing a central repo which makes no sense to me. Appreciate your thoughts.

                                        Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.

                                        J Offline
                                        J Offline
                                        Juan Pablo Reyes Altamirano
                                        wrote on last edited by
                                        #58

                                        I've had the same thought for awhile now. I loved SVN and sometimes even went as far as copying the server's SVN folder to recreate the history & branches anywhere else in case I needed to. It was quite elegant otherwise (and being a developer of traditional closed-source commercial software it was just perfect). I did everything in command line then and I still do with GIT, but man that thing can lead you to headaches (that most of the time can only be resolved via command line). Probably GIT's only two advantages are: 1.- It's harder to fuck up when you forget to push and you get lost in your thousands of commits. You just git clone somewhere else and start comparing copies in the worst case scenario. 2.- I don't have to cron a backup of the server side SVN repository to backup the entire history & branches...git clone is precisely that.

                                        1 Reply Last reply
                                        0
                                        • L Lost User

                                          Sounds like how I work. I tool away for a couple of days; if I was on the right track, I compile, zip and save that version to a remote drive with a dated file name. Or start over. Repeat evey few days. No branches, twigs, leafs, buds, flowers, weeds. Sort of like how we did backups in the "old days". Except there are no carts with card trays or portable disk packs.

                                          "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

                                          C Offline
                                          C Offline
                                          charlieg
                                          wrote on last edited by
                                          #59

                                          For one man teams that are diligent, it can work. When you get to more than one, it rapidly gets out of control. I still remember the day when I was cleaning up the project folder... and I purged all the versions. I had no idea. He almost had an aneurism... took a few deep breaths and explained to me why he had a twitch in his eye :) It's not like I was on a mission, I was trying to help free up some disk space we needed... So, there I was with this "I just took a bite out of a ****-sandwich" on my face. Took a deep breath and said, "let me pull the backup tapes..." Thankfully they were from the day before and good. This was the day I had a career epiphany - delete nothing. Move it, archive it, but delete be bad.

                                          Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.

                                          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