Git is a popular version control application nowadays. Recently I have created a note about its differences with SVN and how to use it in Eclipse. There are many Git client tools. But I just want to show how to use Netbeans built in Git tools. It makes development process easier because it has been integrated with the IDE.
Create Remote Git Repository
We need remote Git repository so everyone can store or receive any revision or updated files through the networks. We can setup our own Git server or use public Git server like Github. In this note, I use Github.
1. Create an account in Github and create an empty Git repository
|Create an empty public repository in Github|
2. Get the remote repository link
|Your Github Repository URL|
Create a New Project in Netbeans and Create Local Git Repository
After we have a remote Git repository, we can create a project which will be stored to remote repository. We also need to create local repository before we can push any revision and files to remote repository.
1. Create a project. For example, I create PHP Application project and add some files.
|Create PHP Application in Netbeans|
|Add some files in the project|
2. Create local Git repository. Right click on project then choose Versioning > Initialize Git Repository. Set your project directory location as root path.
|Initialize Git Repository|
Commit to Local Repository and Push to Remote Repository
1. After you make some changes or add some files in repository, you can commit changes to local repository (Git > Commit).
|Commit to Local Git Repository|
2. Then push the updated repository to remote repository (Git > Remote > Push).
|Push to Remote Git Repository|
3. Complete remote repository details then choose local repository branches that will be submitted.
|Remote Repository Details|
4. Github repository has been updated.
Create Other Branches
In software development which consists of some individuals, it's important to ensure that master data of a running software is not break when some developers make changes in the software codes. Each developer can make a branch when she wants to make some changes related to any features or bugs. Then, developer commit changes to that branch before senior developer validate and merge the branch to master branch.
1. Create a branch (Git > Branch/Tag > Create Branch). This process will copy master branch revision into the new branch.
|Create a Branch|
2. Switch to branch (Git > Branch/Tag > Switch to Branch). Choose branch you want. You will see list of branches which is available in local and remote.
|Switch to a Branch|
3. Now, every changes you made in the code will be stored to the new branch. Don't forget to commit and push the revision to repository. Choose "Push to Upstream" if you just want to push to default remote repository.
Merge a Branch to Another Branch
You can merge a branch to another branch. For example, You work in Feature#1 and your friend work in Feature#2. Both Feature#1 and Feature#2 are copied from master revision. Before you and your friend merge to master branch, you can merge your branch to your friend branch first.
1. Switch to branch where you work (Git > Branch/Tag > Switch to Feature#1)
2. Choose your friend branch to be merged. (Git > Branch/Tag > Merge Revision)
3. Resolve the conflict if it happened. For this example, both my friend and I make changes in index.php line 14.
4. Commit and push the revision.
Clone Remote Repository to Local Repository
For this example, first I delete my last example project in Netbeans and also the file directory from local computer. I will download again the project data from Github repository.
1. Get the repository URL from Github.
|Get Repository URL from Github|
2. Open Netbeans. In Main Menu choose Team > Git > Clone. Choose your project directory.
|Clone a Github Repository|
3. Choose branches that will be cloned.
4. Choose branch that will be checkout as your base code.
|Checkout a Branch as Your Project|
5. Because in remote repository there is Netbeans project files, Netbeans can automatically create the project for you after checkout was completed.
|Import Netbeans Project|
If you want to update any revision from remote repository, just choose Git > Remote > Pull or Pull from Upstream for default remote repository.
~ Luki Bangun Subekti