On Thu, 24 Sep 2015 08:24:49 -0700 (PDT) Jirong Hu <[email protected]> wrote:
> I am new to git, and was a clearcase administrator. Just wondering > for companies using git, do they usually have a git administrator or > the development team is doing all themselves? A "git administrator" is a moot term at best but it's a bit hard to explain why in a few words. Say, is you take Visual Source Safe or TFS, they both have their respective server-side software packages which are set up and maintained in a somwehat straightforward way -- simply because there's not much different ways you can configure and use these software packages. Contrary to this, from a "server-wise" angle, "vanilla" Git only offers this: * Two binaries which are able to "terminate" fetching and pushing (receiving and sending) data to/from another Git instance. These are completely transport agnostic: they receive data from their standard input stream and send it out to their standard output stream. So these programs are supposed to be called by some higher-level wrappers. These binaries speak a special on-the-wire protocol. * One binary which implements a CGI protocol and is hence able to be plugged into a Web server to serve Git repositories via HTTP[S] protocol. * A dedicated server binary which is able to speak Git wire protocol on a TCP socket, and supports no authentication/authorization at all. Now, with these tools, there's already a multitude of ways to "serve" Git. Two most popular ways to do that is via SSH and/or HTTP[S] for authenticated access and using plain dedicated server for R/O access. As you can see, to implement all that stuff, you have to possess working knowledge about server-side SSH, managing users and access rights on a typical POSIX system, an ability to manage a web server of choice and its CGI facilities etc. The next thing to consider is that such setups typically only work for really small teams. Once you have specific requirements like access controls of fine-grained access controls, plain Git tools won't save you and you will probably need to turn either to special Git front-ends like gitolite or turn-key solutions like gitblit, gitlab (or IIS-specific solutions on Windows, like bonobo git server or git web access). Now there might be even more involved solutions like the requirement to have the commits which are about to enter some "blessed" line of development to be peer-reviewed, and so you'll need to support something like Gerrit. And another thing to consider is that commercial Git hosting solutions exist. To round up, being a "Git administrator" is not like being a one-trick dog and requires knowledge of particular bits applicable to the specific task of deploying Git. -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
