I've found useful to have a step by step reference guide to work with Git with most used commands, feel free to update it with useful information you may find interesting too.
$ git clone https://github.com/yiisoft/yii.git
(being at root folder)
$ yii/framework/yiic webapp myproject $ cd myproject
$ git init
for i in $(find . -type d -regex ``./[^.].*'' -empty); do touch $i"/.gitignore"; done;
(source https://gist.github.com/18780 )
Adding a yii extension repository inside your repo at a specific path (e.g. we will add https://git.gitorious.org/lightopenid/lightopenid.git in 'protected/extensions/lightopenid')
git submodule add https://git.gitorious.org/lightopenid/lightopenid.git protected/extensions/lightopenid
This creates the file .gitmodules in your root folder which tracks all your modules data.
if for some reason (older git versions, cloning from another location) you end up with an empty directory where a foreign repository should be:
git submodule update --init
should fix it. Then you can update your repository and external ones with:
git pull && git submodule update --recursive
To remove a submodule:
git rm --cached protected/extensions/lightopenid
Edit .gitignore file in root folder and add dirs/files you don't want to be in git repo Use ! to negate the pattern:
assets/* !assets/.gitignore protected/runtime/* !protected/runtime/.gitignore protected/data/*.db
If you want to add your forked repo from github ( i.e.: git@github.com:marcanuy/Comments-module.git ) from another repo (i.e.: git://github.com/segoddnja/Comments-module.git) to the extensions directory, then:
git submodule add git@github.com:marcanuy/Comments-module.git protected/Comments-module cd protected/extensions/Comments-module git remote add upstream git://github.com/segoddnja/Comments-module.git
Then every time you wish to get latest updates from the original repo you should do:
cd protected/extensions/Comments-module git pull upstream master
git commit -a "Initial version"
Now you are ready to go!
Total 4 comments
This line
should be like this
@sensorario:
you need the init for your own project
for example
myproject <- directory with your code in
myproject/yii <- directory with the yii git repo in
ofc i added yii as a submodule in myproject
Hi sensorario,
was not meant to run in yii folder, but in your project folder. This way you create an independent repository from your Yii fork just for your project.
I dont understand why you launch command
$ git init
in yii folder ofter cloning. When you clone a project on github, you have already a git project.
Leave a comment
Please login to leave your comment.