Create a Repository in CodeCommit

CodeCommit is a version control system hosted in AWS that you can use privately to store and manage your source code, documents or binary files. You can get free (as in beer) unlimited repositories, if you have less than 5 users, and if your storage is less than 50 GB-month, and you have less than 10,000 git requests per month. If you have more than 5 users, it’s $1 a month per user. Still not bad. Here’s CodeCommit pricing.

Create a repository in CodeCommit via the Console or the CLI.

aws codecommit create-repository --repository-name myrepo --repository-description "My repository"

Create in another region.

aws codecommit create-repository --region us-west-2 --repository-name myrepo --repository-description "My repository"

Enjoy.

Github Acquired by Microsoft

Microsoft acquired Github today for $7.5 billion. Github was founded in 2008. It stores and manages code in repositories using Git, a distributed version control software developed by Linus Torvalds. It has 28 million users and 85 million projects. Github public repositories are free. Private repositories start at $7 per month for developers. For teams, it starts at $9 per user/month and up to $21 per user/month. If you like to run your own Git repository, check out GitLab. Just install it on a Linux server.

Gitlab Community Edition

Git is the most popular version control software for managing your code. If you’re looking for the best version control system out there, Git is the pretty much the de-facto standard of version control. Although you can run Git locally without a server, you’ll need some kind of repository to share your code with others.

Enter Github. Github provide free and paid Git repositories. Github public repositories are free, while private ones require subscription. For $7 dollars a month, you can have up to 5 private repositories. For $50 per month, you can use up to 50 repositories.

If you want to run your own Git repository either on the cloud or on your own private network (it’s more secure this way), then you’ll need to look at Gitlab’s Community Edition (Github.com is proprietary). Gitlab requires that you install their software on a Linux server (I’m using Ubuntu Server).

I tried running Gitlab CE on the cheapest server ($5 per month) I can find at Digital Ocean. It works but, it’s painfully slow. I don’t recommend it. The $5 per month server only has 1 CPU core and 512 MB of RAM. I recommend that you go for a system that has 2 CPU cores and 2GB of RAM. This system will cost $20 per month.

By the way, if you don’t want managing your own server, you can simply sign up with Gitlab.com. It’s free! They offer unlimited private and public repositories up to 10GB of disk space per project. Of course, Gitlab has other products. For a paid subscription you can get enterprise support and more advanced features.

Visit Gitlab for more details.

Gitignore

You can ignore specific files in Git by placing a .gitignore file at the root of your local repository. The files listed in .gitignore will not be tracked by Git. Why would you do this? Well, there are certain OS generated files placed in system folders such as .DS_Store or Thumbs.db that are not really part of your code.

Create a .gitignore file

touch .gitignore

Edit the .gitignore file

sudo nano .gitignore

Add the files you want excluded. You can use wildcards.

.DS_Store
Thumbs.db
*.log

Commit and Push

git commit -m "adding .gitignore file" -a
git push

That should do it!