Question

To me it seems completely obvious to use pure git, but I am in the position of having to articulate why using pure git is a superior solution to using TFS via git-tfs.

The company I work for has a "policy" of using TFS, although the developers in my team have successfully lobbied to use a git-tfs bridge.

I would like to advocate that instead of using git-tfs (which I know very little about), the development team use pure git against a git repo hosted on the network. A scheduled task on the server hosting the git repository would then periodically pull the contents of the master branch into a TFS repository to appease the corporate TFS gods.

Can anyone help me articulate my argument?

Was it helpful?

Solution

In my opinion, the main advantage to actually using a git repo hosted on the network is that you'll have a common place to push branches to and request pulls from.

I'm a huge fan of the GitHub Flow (The workflow that the GitHub employees use). Basically, every feature/bug should have its own branch. You sync that branch with the remote repository, run tests on it, and then do a git request-pull to create a pull request that you send to a team member. The team member reviews the change, approves it, and it goes live.

Having a remote git repository makes it really nice if you use branches a lot. It gives you a place to share your changes before merging them in with the main branch.

I used git-tfs for a while and stopped because my TFS workspaces got all messed up. It was probably correctable, but I didn't take the time to figure it out. I imagine that my issue isn't the only one that you may run into, but I don't know.

OTHER TIPS

It's possible to make management happy and have all of the features of git. It's something we've been considering doing since a portion of our team like TFS and a portion likes git. We've considered making a "blessed" git repository hosted somewhere on a local server and having it be automated so that a push to the blessed repo will automatically do a checkin to TFS... Or, if you prefer having the blessed repo require a gatekeeper that manually runs the git-tfs checkintool

Of course, you'd have to write a few scripts and such for it to be automatic, but it'd mean you could use vanilla git in your day to day work.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top