Game Development Community

GitHub help needed

by Vince Gee · in Torque 3D Professional · 04/18/2013 (4:30 am) · 6 replies

I'm confused on pull requests. I forked the dev branch, then I had to update it w/ changes from the GG dev branch a couple days later, then I made my changes and I do a pull request and it get the update I did to update my branch.

How are we suppose to do this? How do we keep our branch up to date w/ the GG branch w/out updating our own branch.

This stuff is really confusing and the Git documentation is worse than vcr directions.

I'd be really happy to follow directions spelled out on how to do this, but this is really discouraging me from trying to do pull request to update the dev branch.

Vince

#1
04/18/2013 (4:47 am)
@Vince Gee - It does not have to perfectly synched to perform a pull request. The git streams handle that process quite intelligently. Before I'm ready to submit a pull request, I still fetch the latest changes from the main GG dev branch, just to double check my work is compatible. If it goes out of date in the next few hours, it will still be handled properly.

In short, you do not have to constantly update your branch for a pull request to work properly. It's just a good idea to make sure your changes are compatible.
#2
04/18/2013 (6:55 am)
As long as pull requests have a common base they're usually fine. The workflow looks something like this in a repo that's already set up:

- Update local development branch from GG/development
- Create a new branch off development
- Implement topic features in branch
- Pull request from branch to development
- Delete topic branch

What I mean by 'set up' is that you have a development branch that just tracks GG's development branch. None of your own commits go in there unless they get accepted via a pull request.

Key point: keep all changes grouped in branches.
#3
09/29/2013 (9:50 pm)
i have checkout GarageGames's branches.

now want to switch to t3d v3.0

is there specific any branch for v3.0?
or there r no branch for releases?

when t3d v3.5 or v4.0 will be released ,
how i will be bale to switch between v3 and v4 ?
#4
09/29/2013 (10:04 pm)
The master branch is the 'release' branch, so at the moment, the master branch is at version 3.0 of the engine. The previous push to the master branch should contain the 2.0 release, though I think around that time the 'push to master = release' idea was less fixed to there may be some crud in there.

We should probably get GG to add tags to commits for each numbered release.
#5
09/29/2013 (10:22 pm)
"We should probably get GG to add tags to commits for each numbered release."
definitely.

**************************
"The master branch is the 'release' branch"

nope.
using winmerge,i did a comparison between master branch
and zipped version of t3d 3.0(hosted on http://www.garagegames.com/)

hundreds of file are different.

**********************
may be something wrong in my checkout process.

here is my ".git\config" remote entry:

[remote "GarageGames"]
url = https://github.com/GarageGames/Torque3D.git
fetch = +refs/heads/*:refs/remotes/GarageGames/*


in gui besh i did this:

"git fetch GarageGames"

then switched by

"git checkout master".


anything wrong?


***********************
on page: "https://github.com/GarageGames/Torque3D"

after this line:
"MIT Licensed Open Source version of Torque 3D from GarageGames"

u will see this:

341 commits
5 branches
3 releases
14 contributors

what mean by 3 releases?
#6
09/29/2013 (10:30 pm)
Hmm that's interesting. Try running 'gitk --all' and see if your 'master' and the remote 'GarageGames/master' point to the same commit.

Oh - 'git fetch' and 'git pull' are different. Fetching just pulls down changes made in a remote, pulling actually merges them into your remote. So try doing a git pull.

Oh look, there are tags up to 2.0. There just isn't a 3.0 tag.