Using Eclipse, I try to push git repository to Git server after making changes in a java file & commit via ssh.
Problem: Only the commit info are pushed to Git server but not the actual java source code.
How can I push java code to Git server from Eclipse?
Following the Egit tutorial on committing changes, make sure you have added the source code which just changed, before committing.
If you don't select Team > Add, the commit won't include those changes.
You must see files in the stages changes part of the commit dialog:
Alternatively you may display untracked files in the Commit dialog and check the Show untracked Files checkbox to select them for inclusion into the commit.
As for a post-receive hook, it is best if you set GIT_DIR in addition of GIT_WORK_TRE. See this example:
#!/bin/sh
unset GIT_INDEX_FILE
export GIT_WORK_TREE=/var/www/example/
export GIT_DIR=/home/mark/test/.git/
git checkout -f
Related
steps I have followed
created a repository
convert to maven project(configure -> convert to maven project)
added facet nature.
created folder structure (src/main/java, src/main/resources, src/test/java, src/test/resources)
After that right click on the project -> GIT bash terminal
git init
git commit -m "first commit"
git remote add origin URL
git push -u origin master
After doing all this when I do a checkout(clone repository -> import projects) I am unable to see the source folder like src/main/java.
screen shots attached
project created with folder structure
folder structure when I did a checkout
A git checkout is used to change the branch you are currently working on. It's probably not what you are willing to do here, is it?
My guess regarding your issue is that your git commit didn't commit your newly created files because they were not tracked when you committed your changes.
When you perform a git init, it basically inits a new empty repository, which means that your files are not tracked by default. You first need to git add them before committing.
My explanation is a bit confusing but I guess that if you first git add your files and then commit, it should work.
EDIT: You don't seem to be talking about git checkout here, but rather cloning. This gives even more sense to my answer, I pretty much think that your files have never been committed because you never added them to the staging area.
I have a problem with my project in Eclipse IDE.
For the first time, I worked on an old version and made several changes.
I tried to upload the project on GitLab for the first time I configured Git on Eclipse IDE and I tried to commit and push "but I could do that only after doing a 'Fetch' from the remote branch and commit the 'Merge' change in my local repository.
Because I got this error:
rejected non-fast-forward
I followed this link Egit rejected non-fast-forward to fix it.
The fetch downloaded all the git project files in my project on Eclipse. Until now in my project, I have a subfolder like this: myProject/myProject.
I made several commits and push and it works normally. I figured out that a subdirectory in gitLab docroot is created with every push I make.
This is the local project structure:
This is the project structure on GitLab:
I want to delete docroot/WEB-INF/classes from GitLab.
How to delete this commit from GitLab using git plugin in Eclipse and how to correct my local project structure?
docroot/WEB-INF/classes is a folder. Git does not track folders, only files:
To delete a folder, you have to delete all the files in it.
In the Git Staging view, commit the deletions.
Make sure your current local branch is configured as When pulling: Rebase (in the Git Repositories view right-click the branch and choose Configure Branch...)
Git > Pull to make sure your commit is the latest commit in the upstream branch. If there are conflicts, you have to resolve them in the Git Staging view
Git > Push to Upstream
For details see the EGit User Guide and be aware that old Stack Overflow answers refer to outdated version of EGit.
I have synced up with a git account via Eclipse. When I pull/fetch from head, it says that the project is fully updated.
However, when I compare some files to the version in head, it says that they no longer exist in the most recent revision. They do though.
Also, I should only have one change in my workspace, the addition of a file, but there are hundreds of files missing from head according to my Eclipse - this is not the case though.
I have tried -
Pulling/Fetching from the GIT perspective in Eclipse
Running "git reset --hard" from command line GIT (the most recent message included in the changelog was returned - but still the same issue).
There is a hidden .git at the root folder of the project, as there should be. In the Eclipse GUI, it shows the little icon for each project reflecting that it is connected to GIT.
What is my likely issue here? How can I safely troubleshoot here? I would like to avoid being castrated for removing necessary files if possible.
Edit -
There are '?' and warning symbols next to each file - but I just fetched the project from the most recent repository. Why wont these go away?
Thank you !
Using command line:
git fetch - to fetch any changes from remote repository
git checkout master (or another branch you want to see in) - to be sure you are not in detached state
git reset --hard - to discard any local changes
git clean -xdf - to clean any untracked and ignored files from tree
Now git status should show "Your branch is up-to-date"
I think you've got lost in the process of git workflow. If you are trying to work with a remote repository, you need to make sure you've set it up correctly prior to carrying out any further work.
Be careful there since git fetch and git pull serve for different purpose.
git fetch will get information from your remote repository BUT NOT merge it
git pull will get information from your remote repository AND merge it
Also, be careful when you use
git reset --hard
what it does is besically matches your working directory to last index (HEAD). If you don't have any commits to match to this will simply maintain working directory empty. If your first commit was empty and you have files in your working directory that you didn't stash or commit, it will remove the files from your working directory and revert to your previous commit.
In order to learn what's happening in your current local repository you can do a few things to better understand the content. Use following commands to learn more
On output, this will show what files changed since last commit
git status
On output, this will show which *branch you are located on
git branch
On output, this will show you your remote branches
git branch -r
On output, this will produce a narrative of all commits you've done on CURRENT branch
git log --oneline
I am very new to git and have been facing the problem below for 4-5 days now.
I have a project that I want to share on GitHub and I created a repo (https://github.com/jitix/cfs/tree/master/cfs) for the same.
Here is what I did:
Checked out the code from svn using Eclipse (Juno).
Removed svn related files and 'cleaned' the folder by doing Team > Disconnect.
Created a local git repository (using both via eclipse and cli on different occasions).
Added appropriate .gitignore file.
Committed the code into the local repo (somehow eclipse moves the folder there, but not an issue). Eclipse made me choose the $repo/cfs as the folder where the code is committed. I could not commit it to $repo.
Now I want to push it into GitHub. Tried out the following:
Method 1 (eclipse):
Team > Remote > Push
Use refs/heads/master as both source ref and dest ref and commit.
Method 2 (cli from the $repo/cfs directory):
git remote add origin jitix#https://github.com/jitix/cfs.git
git push -u origin master
Issue:
In both cases, I am getting the cfs directory under the GitHub repo, not at the root (as most projects have). Also, each folder has a .. link to the parent folder in it (something that I have never seen on GitHub, and something that does not happen if I push using svn).
I checked out my code from svn, created a local repo and committed the code into
You need to create the git repository inside the folder that you want to upload. You've created it one level above the cfs folder and then pushed that, you want to run git init while inside cfs and then go from there.
Try in commandline instead using eclipse and follow the steps that GitHub recommends.
Go inside the directory of your project and type:
git init
git commit -a -m "first commit"
git remote add origin jitix#https://github.com/jitix/cfs.git
git push -u origin master
It should work, although is pretty much what you were doing.
I have successfully checked out a project from GIT hub but since then changes have been made to the repository. When I right click to team the PULL option is grayed out, when I fetch from upstream it says the files are up to date, but that is not true. I can verify this by visually comparing the file on my computer to the file at GIT hub. Is there any way to resolve this problem other than switching back to subversion?
You need to merge the fetch upstream into your branch to get the updated repository.
Or, you can use terminal
git pull origin master
Check this git pull docs
Also, Pull option is graved out because egit requires the branches to be set up for pull for the option to be available.