The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
You shouldn't consider source control as a backup system - separate the concerns and implement a planned backup strategy, by all means in conjunction with source control. They really aren't there for the same things, and you sound like you need disaster recovery rather than source control.
Backup to the cloud, or onto physical media which you rotate into a mates house (and perhaps rotate his into yours) instead.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
I said I need source control as a backup in case the house burns down
That's what I hear.
If you want to secure your work against the case where your house burns down, seek a backup solution.
If you want to be able to maintain different versions of your codebase, seek a source control system.
There's no reason you can't use both.
Technically, you can setup a source control system as a backup solution. But it would be very inefficient. I've tried it once but found it to be painfully slow. Plus it clogs your drives with version control info that you might not even need - at least not on your local drives!
GOTOs are a bit like wire coat hangers: they tend to breed in the darkness, such that where there once were few, eventually there are many, and the program's architecture collapses beneath them. (Fran Poretto)
Host the repo locally. Store the backups of the repo off-site.
I believe that's the crux of Griff's point.
"I intend to live forever - so far, so good." Steven Wright
"I almost had a psychic girlfriend but she left me before we met." Also Steven Wright
"I'm addicted to placebos. I could quit, but it wouldn't matter." Steven Wright yet again.
I've worked with Git for years and never amended anything.
I don't get the issue with reverting.
How would you solve that using TFSC or SVN?
The fact is you pushed something that didn't work to the master branch, people made other changes to that code and now you want it removed.
I've been in the situation where I had to revert multiple commits and this was as easy as selecting the commit I wanted to go back to and selecting "revert to this commit".
As the author says, all backward changes were added to the branch, but my coworkers had some merge conflicts.
Those conflicts are to be expected since I just messed up the whole code base that everyone was working on.
SVN or any other SCM isn't going to handle that gracefully either...
Actually, I don't recognize anything he talks about in that post, except this little sentence in the intro:
János Kubisch wrote:
Fortunately, it is really hard to irrevocably mess something up with git, as long as you have the .git hidden folder in your project intact!
In my experience it takes some getting used to.
I worked in a team who worked with SVN for years and they were also a bunch of bunglers, so they complained about Git for years and never got the hang of it.
Another team who moved to Git was amazed at how easy the transition was.
At first, I thought it was overly complicated compared to SVN, but now I never want to go back.
It's very easy to branch and merge, which makes developing new features and cooperating in teams so much easier.
I wouldn't dismiss Git based on that one article...
Just be sure to get some GUI tool.
Not the default or the command line, those are for script kiddies who think they're so cool because they use command line.
I use SourceTree or Visual Studio 2019 and those work well.
it sometimes tries to push my entire Projects folder
Do you have a .gitignore?
I've never used it before because I was missing stashing functionality.
I used to like SourceTree A LOT better (VS 2015-2017), but with 2019 it's just slightly better I think.
I have a solution with some projects in the same base folder, and other projects that are shared in different locations. When I right-click the solution and choose "Add To Source Control", a Git message pops up:
Source Control - Git
The current solution has projects that are located outside the solution folder. These projects will not be source controlled in the Git repository. To add all the projects to a single Git repository please consolidate all projects under a single folder.
You know we use it, we're 10 developers, we all have multiple branches running in parallel, we have many version tags.
We have a simple workflow
In 4,5 years, I think we had one major issue (no data loss), I think it was because we busted the 1 gig repository size and needed to move files to the LFS system and rebuild the history.
From what I can see, your problem seems to be related to the GIT in Visual Studio; I've seen some solution on StackOverflow; maybe not exactly like your situation, but it should be a good way to start looking at it.
Maybe you could try an external GIT tool (tortoiseGIT, Kraken.... ) and see how it goes.