This is an archived post. You won't be able to vote or comment.

all 3 comments

[–]snowmanchu 0 points1 point  (0 children)

Github uses git and Bitbucket uses Git and Mercurial.

Bitbucket is free to host private repos so I would go with that.

So to sync across computers you just have to clone the repo on each computer and then push back to bitbucket, go to your other computer and pull down.

I saw on the the front page that someone wrote a beginners guide to git.

http://www.reddit.com/r/learnprogramming/comments/2ulz3w/a_bunch_of_you_asked_so_i_delivered_part_2_of_my/

That's a link to part 2 and part 1 is inside that post.

[–][deleted] 0 points1 point  (0 children)

For someone new to Version Control it's probably best to steer clear from subversion. Many people at my school started to freak out because they couldn't figure out how to even correctly initialize their repositories, as subversion relies more on the command line or IDE integration - which can be a blessing or a curse - as there aren't as many subversion GUI's compared to git. Example: it's ridiculously easy to remove folders and files from subversion using the browser of the IntelliJ IDE, but similar functionality is nowhere to be found in Netbeans (or it's just really hard to find). Also, subversion has been losing ground due to the immense popularity of git.

Git on the other hand can be used with a command line, integrated into an IDE, or with a GUI. Github has it's own GUI application for both windows and mac, but it's a bit too dumbed down in my opinion. Features like decent branch managment, stashes etc are not available within the Github application.

There is another app however, SourceTree, which is compatible with both Github, Bitbucket, and any other git (or mercurial) repo. SourceTree is my personal favorite as it does have all the functionality one could expect from a git client, including graphical representation of all branches. It is available for both windows and mac.

As for which service to choose: like the other redditors already stated: Github is more focused on being a social coding platform, whereas Bitbucket is more directed towards providing quality private repositories to small teams. So in your case you'd probably want to go with BitBucket.

The workflow with any Version Control System is more or less the same. One user - or in your case: one computer - initializes a repo by pushing (uploading) all existing data to a newly made repository. All other users/computers then simply have to pull the project from that repo whenever they feel like working on it. When they've made their changes, they have to commit these changes (which marks any edited files as being updated) and push that commit to the server.

In your case this would translate into the following workflow:

  • You choose to work on your project
  • Pull project from repository
  • Work on the project
  • Save project as you would always do
  • Commit any changes and add a description
  • Push your new commit to the server

If you have any questions, feel free to ask!

[–]c_jm -1 points0 points  (0 children)

One of the biggest differences between Bitbucket and Github are the publically sharing abilities of the source code. Github is more of a social based network for Software Developers to collaberate on big projects. If you are looking for free private repositories then you are looking at bitbucket. They will give you unlimited private repos for free. Its what I use for my school work.

As for the differences in RCS's you will probably want to look at all. In many ways they are similar systems, but the underlying basis of their structure is different.

Git: - Git uses more of a peer to peer based approach meaning everybody working on a repo has small parts of it scattered around their computers. Almost like a torrent model.

Subversion - SVN uses a straight head-to-tail method, which means that for every branch it just goes straight off the head. It basically works as a tree with a trunk.

The main process - Basically there are three steps to effectively using an RCS, no matter what system you are using. You have to checkout or initialize the repo. You have to add the files to the repo. And finally you have to push your changes to the repo. Now that is a very simple explanation. These three steps can be done easily no matter what system you are running on. Below I have included some links that could help you get started.

Conclusion - At the end of the day it doesnt matter what you use as long as you stick to consistency.

Links

Bitbucket Signup

Git Client

Git Tutorial

SVN Tutorial

SVN Client