Sorry, I'm a git newbie (though I'm very familiar with older source control systems like cvs and svn) ...
My ultimate goal is to add a file to a remote repository (one not on my machine) by cloning that remote repository locally, adding the file to the local repository, committing my change, and then pushing my local repository back to the remote.
I tried this:
git clone ssh://user@server/Users/GitRepo/Project.git
<create file locally>
git add <localfile>
git commit -m "Narg"
git push
But it just says "Everything up to date".
So I tried going step-by-step, and got even more confused.
git clone ssh://user@server/Users/GitRepo/Project.git
git status
And it tells me
# Not currently on any branch
# Untracked files:
followed by a long list of Untracked files.
Which seems really strange, why would the files be untracked if I just cloned the repository?
If it's important, the remote repository is brand-new, created via svn2git.
If I type
git remote show origin
it tells me
* remote origin
Fetch URL: ssh://user@server/Users/GitRepo/Project.git
Push URL: ssh://user@server/Users/GitRepo/Project.git
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushed to master (up to date)
and if I type
git branch -a
it tells me
* (no branch)
master
remotes/GitRepo/master
remotes/origin/HEAD -> origin/master
remotes/origin/master
So am I just confused, and everything is actually working correctly? Or am I doing the git commands wrong? Or did I create the repository incorrectly, so no git commands will ever work properly?
Thanks, Chris
To fix this error, either add the files causing the error to the staging area or ignore them using the . gitignore file.
When working with new folders, git does not show the contents of those folders by default when you run git status . There are three parameters available for -u : -uno which doesn't show any untracked files. This is useful when you only want to see the status of files already added to the index.
Untracked files are files that have been created within your repo's working directory but have not yet been added to the repository's tracking index using the git add command.
git config -l
if current git repository's core.precomposeunicode=true
try this,
git config core.precomposeunicode false
and this is why. from here
core.precomposeunicode This option is only used by Mac OS implementation of Git. When core.precomposeunicode=true, Git reverts the unicode decomposition of filenames done by Mac OS. This is useful when sharing a repository between Mac OS and Linux or Windows. (Git for Windows 1.7.10 or higher is needed, or Git under cygwin 1.7). When false, file names are handled fully transparent by Git, which is backward compatible with older versions of Git.
Git is a wonderful tool, but it's easy to get lost without a good map of where you are in the forrest of commits.
Here's how to get that map (I call it "gr" for "graph", but you could also call it "map" if you prefer):
git config --global alias.gr 'log --graph --full-history --all --color --decorate'
That's a one-time setup for git. Now whenever you're lost, just take a look at the map:
git gr
Your current location is denoted by the word "HEAD", and any branch names are also listed.
You'll see that you're currently not on any branch, which sounds a lot worse than it really is -- it's actually no big deal, it just means your commits won't go into the master branch the way you want them to.
So just get back on your master branch and commit there:
git checkout master
git add yourfile.txt
git commit -m'Narg'
git push
Also take a look at git gr
now and you'll see that HEAD is at the same commit as master, and master is at the same commit as origin/master, which means you're all set.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With