In fact, there are several channels that allow Git setup such as Bitbucket, GitHub, GitLab. In the scope of this article only, we will show you the way to set up Git for Magento site via https://bitbucket.org.
Firstly, go to https://bitbucket.org. You need to sign up for a new account or log in if you already had one. Then, you can find Repositories tab on the top left of the menu bar, just click on it and choose the action “Create repository”.
Now is the time to log in SSH and use code. In the followings, we mention two different ways to use Git via HTTPS link or SSH.
Git setup via HTTPS
Use cd folder_contains_code to open the folder that contains code and Git init to create an init for Git.
Git remote add origin link: from Bitbucket, in the Actions column on the right, choose “Clone” and then copy the link written after “git clone”.
vi .gitignore: create (if file .gitignore hasn’t existed) or modify that file to remove unnecessary folders such as var/, app/etc/local.xml, media/catalog/product/cache. Besides, you also can add other folders of Magento system like app/etc/modules/. However, it’s not recommended adding these files because there are many modules that are directly added here.
app/code/core/ app/design/adminhtml/default/default/ app/design/frontend/base/ app/design/frontend/default/default/ app/design/frontend/default/blank app/design/frontend/default/iphone/ app/design/frontend/default/modern/ app/design/install app/etc/modules/Mage_All.xml app/etc/modules/Mage_Api.xml app/etc/modules/Mage_Bundle.xml app/etc/modules/Mage_Centinel.xml app/etc/modules/Mage_Compiler.xml app/etc/modules/Mage_Downloadable.xml app/etc/modules/Mage_Weee.xml app/etc/modules/Mage_Widget.xml app/etc/modules/Phoenix_Moneybookers.xml app/etc/config.xml app/etc/local.xml.additional app/etc/local.xml.template app/locale/en_US/ app/Mage.php cron.php cron.sh downloader/ errors/ favicon.ico includes/ index.php index.php,sample install.php js/blank.html js/extjs/ js/lib/ js/prototype/
js/varien/ js/calendar/ js/flash/ js/index.php js/mage/ js/scriptaculous/ js/tiny_mce/ lib/3Dsecure/ lib/flex/ lib/googlecheckout/ lib/LinLibertineFont/ lib/PEAR/ lib/Varien/ lib/Zend/ LICENSE_AFL.txt LICENSE.html LICENSE.txt media/downloadable/ media/import/ nbproject/ pear/ php.ini.sample pkginfo/ shell/abstract.php shell/compiler.php shell/indexer.php shell/log.php skin/adminhtml/default/default/ skin/frontend/base/ skin/frontend/default/blank/ skin/frontend/default/blue/ skin/frontend/default/default/ skin/frontend/default/french/ skin/frontend/default/german/ skin/frontend/default/iphone/ skin/frontend/default/modern/ skin/install/ var/ pear
Git add: to commit the first time (otherwise, you just need to add the files that have already been changed, also Git status can be used to see the changes). To use Git for the first time, system will require configuring some information. Some usual configuration are:
- Git config core.fileMode false: skip changes about chmod
- Git config –global user.email “firstname.lastname@example.org”: email used to log in bitbucket
- Git config –global user.name “username”
After cofig (if necesssary), we continue to commit.
Git commit -m “first commit”: create commit to push on bitbucket with commit name written in the mark.
Git push origin master: push commit onto bitbucket.
Git setup via SSH
This method adds several extra steps but gives better security (in comparison with Git via https) in return. Firstly, you go to /Users/Admin/.ssh then use ls -a .ssh to check wether any ssh key has existed. Ssh key usually has this form:
id_rsa.pub id_dsa.pub id_ecdsa.pub id_ed25519.pub
If you haven’t had ssh key, it’s essential to create a new one: ssh-keygen -t rsa -b 4096 -C “email@example.com“. After that, system will ask you where to save it, just hit “Enter”. Then keep continue to fill up the password for that key:
Enter passphrase (empty for no passphrase): [Type a passphrase] # Enter same passphrase again: [Type passphrase again]
So, we have done creating ssh key (usually named là id_rsa or id_rsa.pub). The next step is to add key into ssh-agent:
eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa
Then add ssh public key (id_rsa.pub) into bitbucket account: cat ~/.ssh/id_rsa.pub | clip (This is used to copy content of id_rsa.pub). Now you have to go to bitbucket account and paste the copy in the section “add ssh key” in Bitbucket setting.
Check whether the key is added or not by ssh -T firstname.lastname@example.org. If you see a notification as “Logged in as …”, that means you add key successfully and be ready to keeping using Git.
cd folder_contains_code: go to the folder that contains code.
Git nit: create an init for Git.
Git remote add origin link: you can get the link from Bitbucket, choose Clone action and copy it from “email@example.com” until the end of the link.
From here, we keep doing it similarly as with link https:
Git config (if needed)
If you get into any issue when following this instruction or even just want to discuss in more details, please feel free to leave a comment. Sharing ideas is a good way to get us all improved.