I’ll probably be flamed for this, however I want to know…
I use Github religiously, but 99% of the time I’m the only one working on the code. All I really need is to a) know I have an offline backup of my projects, and b) from time to time to be able to go back and pull a chunk of code out of a previously saved version.
While I generally like GitHub, I do have problems sometimes that leave my repositories in a funky state and are hard to undo.
I feel like what I really need is TimeMachine and an daily offline backup.
Does anyone else use something other than GitHub or SVN that is more like what I’m talking about? What has worked for you?
On Windows I use TortoiseGit (https://tortoisegit.org/) and any number of off-site backup services but mostly OneDrive.
Be sure NOT to be editing your Xojo project files on DropBox or similar services. Doing so can lead to strange results in the IDE (and is not a supported mode of operation for that reason). My project files are local or LAN drives. They are backed up to off-site storage a few times per day.
i use a backup software that nothing get lost, at least having a copy on other hard drive.
one click and in some minutes done.
from time to time i burn my dev drive to dvd.
usually my project progress is only forward.
before i break something i use send to zip in case i end up in dead-end.
and i use send to zip in case i done something complicated.
additional backup copy i put on usb stick and a few things at ms cloud.
[quote=488709:@Markus Rauch]i use a backup software that nothing get lost, at least having a copy on other hard drive.
one click and in some minutes done.[/quote]
I am using GitHub and SourceTree, but also I have a TimeMachine backup. I’ve had to use TimeMachine to retrieve earlier versions a few times and frankly it’s more convenient than GitHub.
It’s the offline part that makes me nervous.
Has anyone used Carbonite?
This is your problem A very good friend of mine struggled with git, and I blame SourceTree entirely. Try Fork, you might like it better and they make Force Push very easy to do (say if you DGAF what the remote repo says, you want to make this commit!)
Edit: Added smiley, this post is half-joking. I don’t think SourceTree is great software, but I’m not trying to make a definitive statement with this post.
SourceTree is harder than it should be. Even though I’ve used it every day for years it easily gets into a weird state. Take Tim’s advice and try using it with Fork. YMMV.
FWIW, source code management is a MUST have for a consultant. Check in early and check in often because it WILL save your bacon at some point. Then, if you do have multiple people working on it at some point it’s an easy add and you don’t have to worry about it later. A commercial source is a good idea as it’s off-site backup though it’s not without it’s faults (I had a commercial host get attacked with ransomware and the ENTIRE repo was lost and the company folded the next day).
My feeling is that SourceTree is as close to the git command line as you can get in a GUI, meaning it doesn’t try to shield you from the things git might do. Once you use it (and git) for a while and understand these idiosyncrasies, you will stop seeing those “funky” states.
(I appreciate SourceTree for its ability to run custom scripts through the Actions menu, and haven’t found another client that allows that.)
Having said that, if the basic question is, can you do without git and just use some backup scheme, I’d say “no”. Sure, create as many backups as you can, but nothing will beat version control for its ability to easily test, and discard, new things, or to see how the heck you got to where you are and spot what you might have inadvertently changed or deleted.
BTW, I was one of those people who swore that version control was overkill because of my many, many backups. If I could, I’d go back in time and kick that guy.
Hi Chris - First, your question is a good one, I asked myself the same one years ago before I starting using source code management tools. There’s no shame in asking it.
+1 on Kem’s comments above. I was the only developer an app I created for 13 years where I was constantly duping the source code folder and it was pure chaos to keep track it all. Then I started using SVN and was mostly relieved, and then finally Git solved all of my issues with SVN.
The tools for Git today have really made getting start with it much easier for sure. When I started using it 5+ years ago it was definitely much more work. I read the Git Pro book front to back many times just to make sure that I fully got it.
I quickly got over my concern that Git stores the changes in it’s data blob files. I was overly concerned with what would happen if the blob got corrupt and I couldn’t go back to previous revisions, etc.
At home I even set up a git server (run ssh on my NAS), init’d the repo with the --bare and --shared switches and was off and never looked back. Then I stopped using my NAS and now trust BitBucket, GitHub and GitLab.
Tags in Git solved my need to go back to a specific version. The Git bisect function greatly simplified the process of finding the specific commit where I introduced a hard to find bug.
Hello Chris, its not only about GIT or SVN. Yes they are all great, but for a project it needs more.
Try fossil-scm, its small, uses SQLITE and has also a Bugtracker and Wiki included. Maybe u get some ideas to automate it with XOJO. Installing : one exe,…
Im working in a multi project and and multi developer environment And one of my tasks is, still to write addons to capture all the things around it, and push them into worflows for automatic reporting.
And a last tip. Use a commt template not only a commit one liner. Benefit : parse them and push them into a database…
In my case I have then all infos about tickets, cls, and much more. I push it into tables together with meta info, Tagging is a option, but how you handle this in a branching strategy . There a database makes life much easier…
I am a single developer on some projects and a contributing member on others. I really enjoy GitHub’s new features which makes even working on my solo projects worth the time invested in Github. For example we use the “Project” feature which is a great card based Kanban style board (similar to trello) which integrates great within your issues. Our issues are backlog items, bugs, new features, etc (we make our tags appropriate). I also use the milestone feature which gives you a decent way to set up sprints or a chunk of time that you will accomplish X issues within. It is all integrated together and is very very helpful.
It specifically helped me visualize the branch movement locally and then to the remote repo. I used SourceTree prior and GitKraken really made Git easier for me.
What about an own Gitea instance? On your own hardware? Backups are simple then, just rsync the data directory and postgres DB. Why giving Microsoft/ GitHub all your behavioral data and information on which projects, for which customers you’re working or not working? I’ve written this article recently here in xojo forums.
For me, gitea is game changer and I’ve started to use it even in non-develeopment tasks like writing articles.
I never understood the wide-spread love for Git. Yes, if a project has a large number of developers (eg. Linux) it has it advantages. But otherwise for small teams its unnecessarily complicated and a lot can go wrong.
Just use SVN. Its (still) great and easy to learn / use. One disadvantage: its not considered cool.
Many large corporations use it, especially because it has better security features.
I used Git at work (because I have to), but SVN at home.
Recommended: Riouxsvn.com for remote SVN hosting.
XVersion for a client.