Sunday, April 28, 2024
8
rated 0 times [  8] [ 0]  / answers: 1 / hits: 17057  / 1 Year ago, tue, december 20, 2022, 1:01:44

I am looking at using a version control system to ensure that I can go back in time to a particular version for all documents in ~, if I have to.



What is the best suited tool for this given that:




  • I am without much experience in version control systems

  • Several files will be plain text files but there will be some Libre-Office files also



The tool should:




  • Be easy to set-up, run and maintain

  • Have easy to understand configuration options (what directories to track, for how long, how frequently the changes should be captured, etc.)

  • Ideally have a GUI front also

  • Be able to recover deleted files



What is the best/ most widely used tool that will be suitable for me?


More From » software-recommendation

 Answers
3

I have used CVS, Subversion, git, and a few commercial packages. I just migrated my personal VCS from CVS to git (I thought it was going to be more difficult than what it actually was, I should have done it long ago).



I would recommend git. Based upon what you are looking for.




I am a noob without much experience in version control systems




git may have a longer learning curve, especially if you have experience with a previous VCS. Without having been exposed to a previous VCS, your learning curve maybe be shorter.



The best way to learn git is download the book Pro Git by Scott Chacon (for free), create a test repository (mkdir <project name>; cd <project name>; git init), and hack away at it. There is really is no effort to create a repository and don't worry about screwing something up in a test repository, as each repository is independent. A repository can be easily removed (cd <project name>; rm -rf .git).




Several files will be plain text files but there will be some Libre-Office files




There is no differentiation with git on file types (ASCII vs binary), however ASCII files are optimal for seeing diffs and merging conflicts.




Be easy to set-up, run and maintain




git can be configured in a number of ways, it all depends upon what your needs are. For starters, a one many show, all you have to do is install git (sudo apt-get install --install-recommends git-core) and create a repository (shown above). If you work across a number of machines, you can set up git over ssh (it is in the book). Even better, as your needs expand you don't loose what you have done already.




Have easy to understand configuration options (what directories to track, for how long, how frequently the changes should be captured, etc.)




You can have one big repository or break them down to individual projects or down to single files. Again create a git repository and play around with it, see what works and does not.




Ideally have a GUI front also




There are many git guis that specialize in many different tasks. However learning git from the command line is highly recommended. To get started you only need to learn a few commands (git init, git status git diff, git add, git rm, git commit, git push, git pull). Also the command line helps you with tasks you need to do. For example: git status



# On branch master
# Your branch is ahead of 'origin/master' by 2 commits.
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: systems/ion/setup.txt
# modified: systems/dogstar/teardown.txt
# modified: applications/help.html
# modified: applications/readme.txt
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# applications/faq.html
no changes added to commit (use "git add" and/or "git commit -a")


If you are more comfortable with a GUI, SmartGit is newbie friendly.




Be able to recover deleted files




Yes, git can recover any version of any file as long as it has been committed.




What is the best/ most widely used tool that will be suitable for me?




git is widely used. As far as the best goes, it is among the best, if not the best. But being the best, is more of a personal opinion and is also based upon the situation.


[#34666] Tuesday, December 20, 2022, 1 Year  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
arsleyeuth

Total Points: 72
Total Questions: 121
Total Answers: 112

Location: North Korea
Member since Mon, Oct 31, 2022
2 Years ago
;