TFS or Git
-
I've used TFS. While the Web UI mildly annoying, I know it and it works. Git however is a whole different animal. To me it seems very confusing and difficult to work with. What are you guys using? What's the standard these days?
If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.
It depends how many people are working on a project. Git is definitely more suited to bigger teams with complex projects that require branching. I only recently started working with Git (last 3 months) and it's not that bad, especially if you use a UI like Sourcetree. Git's branching is way better than SVN which I used to use and the Git flow built into Sourcetree works well for features, etc.
-
Are there any Agile tools that work (well) with Git?
If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.
Jira can connect to your git and link checkins with tickets. I'd advise you to try a GUI app like Git Extensions to do the basics with git rather than struggling with the command line. Once you get the gist you can maybe start to try some things with the command line. Like all non-MS products git is pretty badly documented and non-intuitive and doing anything normally requires decoding SO threads and running commands where you don't understand what they're doing.
-
Jira can connect to your git and link checkins with tickets. I'd advise you to try a GUI app like Git Extensions to do the basics with git rather than struggling with the command line. Once you get the gist you can maybe start to try some things with the command line. Like all non-MS products git is pretty badly documented and non-intuitive and doing anything normally requires decoding SO threads and running commands where you don't understand what they're doing.
I've used git for about 10 years. Typically, I'd automate most of it with scripts, and then forget about it existing until something goes wrong and doesn't merge. Then it's of to SO looking for ways to make it to work again. I've used TFS for about 3 years now and it's way easier. I can just point and click (never used a TFS command afaik) and it's so easy to figure out that you don't need documentation. If you want something that just works, go with TFS. If you need fine-grained control or want to actively maintain everything, go with git.
-
And do you like it - using Git on TFS? I am considering this, as I am familiar with the TFS, but like Git. I am currently using Bitbucket right now with Tortoise for Git.
It's amazing. GIT is GIT, so it's service provider agnostic. I've had no complaints with TFS doing it. And the nice thing about TFS-online is the Web feature they provide to edit the code & check-in right there on the portal, the support for comparing change-sets,etc. The UX is great for code reviews. It's almost like using a mini BeyondCompare tool online.
Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy Falcon.
-
I've used TFS. While the Web UI mildly annoying, I know it and it works. Git however is a whole different animal. To me it seems very confusing and difficult to work with. What are you guys using? What's the standard these days?
If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.
-
MarkTJohnson wrote:
To each his own. I prefer the old days with file locking.
:-D Fair enough.
MarkTJohnson wrote:
But the files disappearing between branches was is real PITA at times when you want to compare files.
Well, you can do a diff across branches. Not sure what to click in Tortoise for it, but it has to support it since git does.
Jeremy Falcon
In tortoise you would need to select the file you want to compare, view the log then control select the revisions in the log you want to compare then double click in the lower window to see the differences... I think...
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
-
I made a pretty extensive research on the subject a few years ago and decided for Mercurial instead. If you want to change your VC system you should anyway really opt for a distributed one. Mercurial is filebased while Git is having a little database, so Git is having much better performance on large repositories (Yes, I'm oversimplifying things) This is not the reason Git became the defacto standard. Almost everything else is better with Mercurial, especially the learning curve. It was because when Linus Torvalds was choosing a DVC for Linux, he really liked a GIT function called Rebase, which allowed him to completely remove edits from people he considered idiots.
Wrong is evil and must be defeated. - Jeff Ello
Personally, I've long favoured Mercurial but have to use Git these days. Mercurial is nice and intuitive and does the job without any unnecessary dramas. The Tortoise front end is really easy to work with. It doesn't feel like a reinvention of ye-olde UNIX SCCS and it's generally everything you'd want in a source control system. It's main problem vs. Git would seem to be that Git is trendy and Mercurial is not.
98.4% of statistics are made up on the spot.
-
I've used TFS. While the Web UI mildly annoying, I know it and it works. Git however is a whole different animal. To me it seems very confusing and difficult to work with. What are you guys using? What's the standard these days?
If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.
GitHub isn't as big as it is for nothing - I think git is pretty much the de-facto standard in a lot of the industry. It can be difficult to use, but once you get the idea of how it's supposed to work and, more importantly imho, use a tool like Sourcetree so that you don't have to remember all kinds of cli commands, it's pretty manageable. Especially the easy forking and merging is great, or even just switching branches near instantaneously if something comes up. I can also continue using it even if I can't reach my "central" repo (i.e. I can't connect to GitHub for whatever reason), and I can just push my commits later when the connection is back (don't know if TFS can do this these days, haven't used it in quite a few years).
-
I've used TFS. While the Web UI mildly annoying, I know it and it works. Git however is a whole different animal. To me it seems very confusing and difficult to work with. What are you guys using? What's the standard these days?
If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.
might as well ask. Windows or Apple. iFruit or GHome. GIT is difficult at best. It works well. TFS is easy. Too easy you end up not having things work the way you want. Mercurial YAY GIT at an old job, TFS at current job. Mercurial at home and if I ever, ever get to pick at a future postion. Mercurial
To err is human to really mess up you need a computer
-
In tortoise you would need to select the file you want to compare, view the log then control select the revisions in the log you want to compare then double click in the lower window to see the differences... I think...
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
Cool, thanks.
Jeremy Falcon
-
I've used TFS. While the Web UI mildly annoying, I know it and it works. Git however is a whole different animal. To me it seems very confusing and difficult to work with. What are you guys using? What's the standard these days?
If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.
I'm a long time Microsoft programmer who grew up on Visual SourceSafe and then TFS. I had tried SVN, Mercurial, and a couple others, however. One day, I got a new boss who said, "Thou shalt use Git." It is very different from the centralized systems and required a lot of reading/watching vids, and even now, I still have to look up non day to day commands, but I admit that I have to do that for just about anything now including .NET because I've moved to .NET Core... But I love it and would never go back to anything. During recent interviews, I always ask what kind of source control they're using, and if it isn't Git, the job don't fit. (Sorry, O.J.) Another thing about Git is when people talk about getting into programming or ask, "What language should I learn first?" I say, "Any one you want as long as you learn Git first."
-
It depends how many people are working on a project. Git is definitely more suited to bigger teams with complex projects that require branching. I only recently started working with Git (last 3 months) and it's not that bad, especially if you use a UI like Sourcetree. Git's branching is way better than SVN which I used to use and the Git flow built into Sourcetree works well for features, etc.
I completely agree, but for those out there considering getting into Git, learn the CLI. You're never going to memorize everything, but get the basics and concepts down and remember like everything today, you can find out the exact syntax online. I have to look up stuff for Git (and others things) all the time. I have found many integrated Git GUIs like in VS can't handle certain things well, and I have to open up the CLI to see what's really going on. However, when it comes to merging files that Git can't handle, I'll take a GUI any day.
-
I've used TFS. While the Web UI mildly annoying, I know it and it works. Git however is a whole different animal. To me it seems very confusing and difficult to work with. What are you guys using? What's the standard these days?
If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.
Since you mention TFS, I'm assuming you're in the MSFT space somewhere. We use git integrated with VS. Full disclosure, I wasn't involved with the setup, and we've had a few different repos over the years; that part may be painful, I can't say. I like it. We've got a pretty nice strategy for making branches for each project that seems to be working well. Within your local branch, you can do a commit when you get to a milestone/need to go to another branch for bug fix/whatever without affecting the remote repository. In fact, just this morning I did a check-in for my development branch because an alleged bug in our upcoming release needs to be investigated. So, I make a branch off of the release, get that local, and check things out. If a change is, in fact, necessary, I check in in, commit remote, do a pull request to merge that into the release, and that gets deployed for a QA double-check. When I'm done investigating, I just go back to development branch, build, and I'm back in that change.
-
I've used TFS. While the Web UI mildly annoying, I know it and it works. Git however is a whole different animal. To me it seems very confusing and difficult to work with. What are you guys using? What's the standard these days?
If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.
TFS without question. I've been using git for two years now and despite knowing it quite well, despise it. Recently, my hate hasn't grown, but only because I'm the only one on my current repository. No more massive merge headaches. No devs wondering why Git suddenly refuses to pull correctly. Not having to spend almost twenty minutes pulling down a fresh copy (Git really doesn't handle binaries very well.) The worse part of Git is the stuff it fails at, like file renames with changes. Its "integration" with Bitbuck and Jira is pretty shaky. It also encourages what I see as bad practices, such as rewriting history. TFS, by contrast, uses a workflow I vastly prefer and it just works. BTW, here's something I've long noticed with Git; developers avoid complex changes for fear of having to do a complex merge. This is exacerbated by the workflow Git imposes. I don't really blame them; at a place I worked last year, one merge failed so badly that ALL commits after it had to be tossed, everything was rolled back to just before the merge.Before any screams the cliche--they didn't know git--they actually knew git better than anyone I know.
-
TFS without question. I've been using git for two years now and despite knowing it quite well, despise it. Recently, my hate hasn't grown, but only because I'm the only one on my current repository. No more massive merge headaches. No devs wondering why Git suddenly refuses to pull correctly. Not having to spend almost twenty minutes pulling down a fresh copy (Git really doesn't handle binaries very well.) The worse part of Git is the stuff it fails at, like file renames with changes. Its "integration" with Bitbuck and Jira is pretty shaky. It also encourages what I see as bad practices, such as rewriting history. TFS, by contrast, uses a workflow I vastly prefer and it just works. BTW, here's something I've long noticed with Git; developers avoid complex changes for fear of having to do a complex merge. This is exacerbated by the workflow Git imposes. I don't really blame them; at a place I worked last year, one merge failed so badly that ALL commits after it had to be tossed, everything was rolled back to just before the merge.Before any screams the cliche--they didn't know git--they actually knew git better than anyone I know.
Do you know the link to TFS ON-LINE these days? Thought I had it but what I got to looks totally different NM - I found it - As with all things Microsoft, they changed it again
If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.
-
Do you know the link to TFS ON-LINE these days? Thought I had it but what I got to looks totally different NM - I found it - As with all things Microsoft, they changed it again
If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.
I do "love" how Microsoft just moves things around on their web site for no apparent reason (and without having the old link go to the new place.) Took me a while to find it too. :)
-
I really only care about Source Control. Do you have any "getting started" resources?
If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.
Choosing a Version Control System - A Beginners Tour of the Options[^] If you need to work with other people, Git. If it's just you Mercurial, it's just a lot easier. Git desktop, recently launched, may make Git easier, I haven't tried it yet. Mike
-
I've used TFS. While the Web UI mildly annoying, I know it and it works. Git however is a whole different animal. To me it seems very confusing and difficult to work with. What are you guys using? What's the standard these days?
If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.
We use Mercurial pretty much exclusively at work (my choice, mainly because its ergonomics suit our team better, and it can do everything that we need as well as Git. However... I use Git for private projects (hello, [Github](https://github.com/studoot/)!), and if I were picking a SCM tool today, I'd pick Git. Mainly because it's won the mindshare war really. And also it's got some decent GUI tools ([Git Tower](https://www.git-tower.com/windows/), [GitKraken](https://www.gitkraken.com/))) which take a lot of the pain away... I've even used them to do some radical rebasing which previously would have had me reaching for the git man pages...
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
-
Are there any Agile tools that work (well) with Git?
If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.
VSTS
To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia
-
I believe the standard is more or less GIT. We switch from Subversion to GIT (hosted on ButBucket) a year ago, and we use TortoiseGit as a front end. The transition was hard; learning curve is very steep. The thing with GIT is that it has a lot of advanced features that you need to keep clear of that most people do not use. Doing simple Code Versionning is easy. (clone, checkout, pull, push commit ...) Branching is fun and more or less seamless (we do branches for each issue) once you "get it". This is one tutorial that I used. [Git Tutorials and Training | Atlassian Git Tutorial](https://www.atlassian.com/git/tutorials)
I'd rather be phishing!