Help with Git
This is an open discussion with 100 replies, filed under General.
Search
yea, i followed this page..And i see it working. When i type “ls” in my termial i see everything but i thought i would be able to add folders and files to my sever HTML folder. but i just dont know how to connect the two. Maybe i am getting the wrong idea
Try watching this video…
I am having trouble making a dir and then making it commit to the git? any ideas?
I am having trouble making a dir and then making it commit to the git? any ideas?
Git only tracks files so you need to have at least one file in the directory you want to track.
Got it! thanks for the help. I am learning this quick. Git is amazing. I was up most of the night doing it. I got it all but i jsut dont understand one thing. I use coda and when i am on a sever and connect via ssh. I can add dir and files and git repos. But nothing shows up on the left folder structure menu thing. I know some of you use coda so you may know what i am talking about. But when i type “ls” in the ssh it shows the files and folders. So i am not sure how this can up load anywhere on my sever lol.
Thanks
I got it all but i jsut dont understand one thing. I use coda and when i am on a sever and connect via ssh. I can add dir and files and git repos. But nothing shows up on the left folder structure menu thing.
Yep, Coda is a nice editor, but I find that annoying too. Actually, in Coda, all you need to do is right-click (or ctrl-click) on the folder and click Reload. I wish it reloaded automatically.
ahhh that makes so much sense. That is kinda lame. Anyone my next big issue is has anyone use Git with Media Temple? Bc if i connect via ssh it logs me into my user and not where my domain is. So i cant have both going at the same time…
Any ideas?
thanks
I use Coda to manage my local repository in one terminal window, then create another tab to open another terminal window to SSH into the server. So, I just tab between the two to git push and git pull. Is that what you meant?
No, Well what the story is. I am sharing Media temple with a friend and my website is a sub-domain. And when i log in via SSH it gots to my user dir. my-name%my-website.com. But Coda is set up on the ftp in my domain. my-website.com/html/files
So i was wondering is this the workflow? I create a git repo on in the user place. clone it and then add it to my html folder? Or can i make a git repo in my html folder and then clone that?
I am also coming into trouble on how to clone repos that are not github. it makes it easy for me :)
info/refs not found: did you run git update-server-info on the server?
i get that all the time :(
thanks again. I am beating my head on this but i want to know it!
When I first started with Git, it took me a little while to figure out that there is a distinct difference between “remote” repositories and local repositories. Make sure that you start with a bare git repository to pull from and push to. Here’s the process I’m using for private Git repos on our servers:
Create the Remote Repository
The first step is to create a remote Git repository on the staging server. Create a bare Git repository by logging into the server through SSH and running the following commands:
ssh username@example.com cd /path/to/private/directory mkdir git cd git mkdir repository_name.git cd repository_name.git git --bare init
Create the Local Repository
If the local repository has not been created, create the Git repository, commit a file or files to the repository, configure the remote repository and push the repository up to the remote repository. If you want to create a repository from an existing set of templates, run the following commands:
cd /path/to/local/directory git init git add . git commit -m "Initialize repository" git remote add origin ssh://username@example.com/path/to/private/directory/git/repository_name.git git push origin master
Clone the Repository on the Staging Server
To sync the staging server with the local repository, just clone the repository:
ssh username@example.com cd /path/to/html/directory git clone /path/to/private/directory/git/repository_name.git
Sync Local Changes with the Staging Server
Then, whenever changes are made to the local repository, push the changes to the remote repository:
git add . git commit -m "Changes to the repository" git push origin master
And pull them from the remote repository to the staging area.
ssh username@example.com cd /path/to/html/directory/repository_name git pull origin master
Does that help?
This is awesome Stephen! Thank you for sharing this! I have been wanting to learn how we could do this.
Wow! Thank you again!
BZ
Nice! thanks so much!. I didnt know i had to create a bare repo! that makes sense. Thanks alot.
How do would I pull the Symphony 2.0.8 RC1 version?
I know I would run this to pull the master (which 2.0.7 master)
git pull git://github.com/symphony/symphony-2.git master
How would change this pull request to pull Symphony 2.08 RC1?
Clone the repository:
git clone git://github.com/symphony/symphony-2.git
Fetch the tags:
git fetch --tags
Then you can view the tags available
git tag
You should see a list of the tagged releases
2.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.7RC1 2.0.7RC2 2.0.7beta 2.0.8RC1
Then checkout the release that you want to use
git checkout 2.0.8RC1
Then you can name this branch
git checkout -b 208RC1
You can view all the branches you have created locally with the verbose option
git branch -v
You can do the same for the remote repos you have added
git remote -v
Since the workspace and manifest directories are not tracked in the repository, you should be able to quickly test out different releases by checking out different versions, for example, the latest “stable” release
git checkout master
And back again to the 2.0.8RC1 release
git checkout 208RC1
Just be aware that the database will remain the same, of course, so if there have been database changes between releases, this could impact the stability of the project. So, make sure you are not doing this on a production install.
Edit: I mean switching back and forth between earlier and later releases. This would be the proper process if you are updating to the latest releases.
Stephen, you are the king of Git! Is there a chance to find your “micro tutorials” in one place for future reference?
Very, very helpful Stephen! Thank you so much!
How do I go about pulling in changes to a submodule from another branch?
For instance, I’m having difficulty with the XML importer extension pulling in textarea data. Rowan (buzzomatic) suggested I should pull from the unstable branch on the extension code.
When first installing the extension, I first cloned the repository, git://github.com/rowan-lewis/xmlimporter.git . Then I added extension as a submodule, git submodule add git://github.com/rowan-lewis/xmlimporter.git extensions/xmlimporter
Now if I want to update the code, I have to run git submodule update --init
. But that updates from the master branch.
How do I checkout the unstable branch of the submodule and pull in those changes?
Wait, you added the extension as a submodule of itself?
Create an account or sign in to comment.
So i have been messing with Symphony for awhile now so now i want to learn Git.
I am messing around with Github and i can pull things from Gitup but cant push things. But my real question is more focused on my Hosting space at Media Temple.
I wanted to know how to get Git on MT. (Which i think they have it on there) But How can i make a folder on my computer the local folder and then push it to my websites folder?