You are viewing revision #4 of this wiki article.
This version may not be up to date with the latest version.
You may want to view the differences to the latest version.
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.
If you don't have Yii yet
$ git clone https://github.com/yiisoft/yii.git
start your project (being at root folder)
$ yii/framework/yiic webapp myproject
$ cd myproject
initialize git
$ git init
make git add empty directories to the repository
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
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
Make your first commit
git commit -a "Initial version"
Now you are ready to go!
Keep in mind some database design best practices ¶
http://www.yiiframework.com/wiki/227/guidelines-for-good-schema-design
Use migration for tracking database changes ¶
http://www.yiiframework.com/doc/guide/1.1/en/database.migration
$yii/framework/yiic migrate create myNewTable
Update database with new migrations after updating your repo
$yii/framework/yiic migrate
Don't forget to secure your app ¶
http://www.yiiframework.com/wiki/275/how-to-write-secure-yii-applications/
Why init again a git 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.
Re: Why init again a git project?
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.
git init
@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
Forgot /extentions/
This line
git submodule add git@github.com:marcanuy/Comments-module.git protected/Comments-module
should be like this
git submodule add git@github.com:marcanuy/Comments-module.git protected/extensions/Comments-module
Yiic webapp git
You could create all necessary dirs with git files but setting vcs parameter:
I think article needs to be updated.
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.