Well I forgot about hosting your own. Really handy for hobbyist development. I have one of those free developer servers from Amazon out there somewhere. I don't use it much except to demo the occasional site and so on.
I decided that it was a good idea to set it up as a git repository and i show you here how to do this. If you are using something Ubuntu-ish remotely then this should take about three minutes.
A Word of Explanation
This is the simple setup, it avoids creating 'git' user on the remote server, but you DO need to use a seperate key for using the git service and I show you that first.
On your local machine:
# echo "Host gitserver Hostname ec2-XXX-XXX-XXX-XXX.compute-1.amazonaws.com User git-col PreferredAuthentications publickey IdentityFile ~/keys/git-col.pub " >> ~/.ssh/config # mkdir ~/keys
# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/col/.ssh/id_rsa): git-col.pub # do NOT accept the default
# cp git-col* ~/keys # scp git-col.pub ec2-XXX-XXX-XXX-XXX.compute-1.amazonaws.com: # ssh ec2-XXX-XXX-XXX-XXX.compute-1.amazonaws.com
On your remote host you are now logged in as 'ubuntu':
# sudo apt-get install git # git clone git://github.com/sitaramc/gitolite # ./gitolite/src/gl-system-install # gl-setup -q ~/git-col.pub # exit
On your local machine:
# git config --global user.name "Your Name" # git config --global user.email your@email.address # git clone gitserver:gitolite-admin # exit
That's it really. To create a new repository called dummy and initialize it, you can do something like this.
On your local machine:
# set the new repository name export repo=dummy # update the gitolite conf file with your new repository cd ~/gitolite-admin echo " repo ${repo}" >> conf/gitolite.conf echo " RW+ = @all" >> conf/gitolite.conf # push the config to your server git commit -m "added new repository ${repo}" conf/gitolite.conf git push # make sure you cd to an existing directory! mkdir ~/Projects cd ~/Projects # pull back the new empty repository git clone gitserver:${repo} # go to repository and make any change cd ${repo} echo "*.pyc" >> .git/info/exclude # I use python touch README # do your first push back to master git add . git commit -am "repository ${repo} pushed to origin on gitserver" git push origin master
You'll be using that last code section again, so you might want to make it into a script.
Never type anything you don't understand.
If I've made any mistakes then please let me know.
This is a good programming scripts...Thank you for sharing with us..
ReplyDeleteindian web hosting companies
Buy dedicated server at affordable price from buydedicatedserver company and start your online business.
ReplyDeleteBuy Dedicated Server
It is the service that allows the organization for posting their website and can be accessed by the public through the internet. The Web Hosting is the service or the technology needed for the website that is to be viewed in the internet. All the internet users want their website to be viewed on the internet when the customers type their website names.
ReplyDeleteWeb Hosting
The Linux Cloud servers are very much powerful and are efficient for the use of their customers. The Linux servers are built for addressing the increasing requirements for business applications. The Linux Cloud Server are often preferred over other servers also for their operating system support and hence makes their connections friendly and consistent.
ReplyDeleteLinux Cloud Server
This comment has been removed by the author.
ReplyDelete