I use git for my source management, I have a local repository on my mac and a remote repository at github. They are BOTH suppose to be the same exact thing. I work by myself and I am the only programmer working on my web applications.. I can’t get git to act right – with svn I could simply commit the code to the repository and BAM! The remote repository magically had the exact same files in it… Not in git, no, it just can’t be that simple. I MUST read an entire damn book just to use the stupid thing.
So the question is, what is your development cycle like? I just want to have the exact same code at github as I have in my local git repository. Here’s how I code:
I write code…add, edit, delete, modify files…. So I do this at the command line:
git add . # this is *suppose* to add all files that are not part of the repository
git commit -m 'I commited this because...'
git push # send it to github
Now, after several weeks and hundreds of commits, github as slightly different code that I have in my local repository.
Please help me get this fixed before I trade git & open source for windows & svn or jump out of a window.
I’m sorry about the tone here, I’m just really upset that I keep finding inconsistencies in my source repositories. It’s not a good feeling. I envision the one day where I lose my laptop and then github has old code in it. This just seems stupid.
Oh, one more thing… I don’t want to have to always do git rm /some/long/path/to/file.txt when I remove a file. Is there an easier way? This is absolutely stupid and too time consuming.
Thank you for your help.
Br
Github has a nice page here detailing on how to create, commit and push : http://help.github.com/creating-a-repo/ .
and particularly this:
(source: skitch.com)
You probably want
git push origin master(you need to define origin before of course, read the information above) instead of justgit push.Another important thing to know is the
git commit -acommand, which simply commits all changed files etc., no need togit addthem separately.You might also want to check the output of
git statusto see if there are any suspicious things there which could be the cause of github not being an exact copy.And FYI, svn is open source as well 🙂