You are viewing revision #8 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 or see the changes made in this revision.
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
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
Make your first commit
git commit -a "Initial version"
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
Now you are ready to go!
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.