Git/EGit Notes
It is nice that Eclipse goes now with EGit
(git client on top of JGit Java implementation of Git).
This means that for basic operations you don’t need git
command line tool
(and to install msysgit, if you are on Windows).
However EGit introduces its own features and bugs, and some time or for some operations, you should wish to have ‘git’.
I recommend git
to be installed, and use it to get another view or for some specific operations.
Note: this article was written in 2013.
Remote
git remote
is used to specify location of git repository on server.
Q: The current branch is not configured for pull No value for key branch.master.merge found in configuration
A:Your local master branch is not set up to track remote master branch.
You could do git pull origin master
to tell git the explicit branch you want to pull or you add this to your .git/config
:
[branch "master"]
remote = origin
merge = refs/heads/master
When you push to master for the first time, add the -u
switch (git push -u origin master
). This will set everything up automatically.
Your .git/config
should look like
[core]
repositoryformatversion = 0
filemode = false
logallrefupdates = true
[remote "origin"]
url = https://github.com/use/project.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
git remotes in Eclipse Kepler
Use Properties View to look at remote values
newremote remote was added using EGit, notice that Specifiation is missing
Look at .git/config
file
As usual, final point were set after looking at documentation.
http://wiki.eclipse.org/EGit/User_Guide#Adding_a_Remote_Configuration
Though it takes time, in the end it take less time to read documentation, than solve arising issues one by one.
commit
Commit...
Ctrl+#
When committing often, you cat select Amend Previous Commit
This way you can keep commit history more meaningful.
pull & push
Q: pull with uncommitted changes A:
git stash
git pull
git stash apply
Try git help stash
Examples
Pulling into a dirty tree
$ git pull
...
file foobar not up to date, cannot merge.
$ git stash
$ git pull
$ git stash pop
Interrupted workflow
... hack hack hack ...
$ git stash
$ edit emergency fix
$ git commit -a -m "Fix in a hurry"
$ git stash pop
... continue hacking ...
gitignore
Take a look at addon