X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=pep-git.txt;h=acc45f3b1db00a1f822193502921e59a58e72ff7;hb=dc2077abaca44e962f57e2f5424bb6c8f7403379;hp=b8171dbe31dd62e9f13597c713573b11e081a7a8;hpb=c25a1d42eb825881a592dfda31d0001a600903d5;p=git-wiki.git diff --git a/pep-git.txt b/pep-git.txt index b8171db..acc45f3 100644 --- a/pep-git.txt +++ b/pep-git.txt @@ -268,10 +268,11 @@ or even $ git pull -Default remote repository for fetching/pulling is origin. Default set -of references to fetch is calculated using matching algorithm: git +Default remote repository for fetching/pulling is ``origin``. Default +set of references to fetch is calculated using matching algorithm: git fetches all branches having the same name on both ends. + Push '''' @@ -310,8 +311,8 @@ or even $ git push -Default remote repository for pushing is origin. Default set -of references to push in git before 2.0 is calculated using matching +Default remote repository for pushing is ``origin``. Default set of +references to push in git before 2.0 is calculated using matching algorithm: git pushes all branches having the same name on both ends. Default set of references to push in git 2.0+ is calculated using simple algorithm: git pushes the current branch back to its @@ -341,6 +342,7 @@ That changed in git 2.3, but see `the blog post for caveats; in 2.4 the push-to-deploy feature was `further improved `_. + Tags '''' @@ -782,9 +784,16 @@ but you can use your editor:: $ git grep -Ovim # but not -O vim -BTW, there is a difference between running ``git grep -O`` and ``git -grep -Oless`` - in the latter case ``git grep`` passes ``+/pattern`` -option to ``less``. +BTW, if git is instructed to use ``less`` as the pager (i.e., if pager +is not configured in git at all it uses ``less`` by default, or if it +gets ``less`` from GIT_PAGER or PAGER environment variables, or if it +was configured with ``git config --global core.pager less``, or +``less`` is used in the command ``git grep -Oless``) ``git grep`` +passes ``+/$pattern`` option to ``less`` which is quite convenient. +Unfortunately, ``git grep`` doesn't pass the pattern if the pager is +not exactly ``less``, even if it's ``less`` with parameters (something +like ``git config --global core.pager less -FRSXgimq``); fortunately, +``git grep -Oless`` always passes the pattern. bash/zsh completion @@ -833,27 +842,27 @@ repositories can be made user- or group-writeable (see parameter ``core.sharedRepository`` in ``git help config``). If that's too permissive or too restrictive for some project's needs there is a wrapper `gitolite `_ that can -be configured to allow access with great granularity; gitolite has a -lot of documentation. +be configured to allow access with great granularity; gitolite is +written in Perl and has a lot of documentation. Web interface to browse repositories can be created using `gitweb -`_ and `cgit +`_ or `cgit `_. Both are CGI scripts (written in Perl and C). In addition to web interface both provide read-only dumb http access for git (http(s):// URLs). There are also more advanced web-based development environments that -include ability to manage users, groups and projects; private, group -and public repositories; they often include issue trackers, wiki -pages, pull requests and other tools for development and -communication. Among these environments are `Kallithea +include ability to manage users, groups and projects; private, +group-accessible and public repositories; they often include issue +trackers, wiki pages, pull requests and other tools for development +and communication. Among these environments are `Kallithea `_ and `pagure `_, both are written in Python; pagure was written by Fedora developers and is being used to develop some Fedora projects. `Gogs `_ is written in Go; there is a fork `Gitea `_. -And last but not least `Gitlab `_. It's +And last but not least, `Gitlab `_. It's perhaps the most advanced web-based development environment for git. Written in Ruby, community edition is free and open source (MIT license). @@ -863,14 +872,14 @@ From Mercurial to git ===================== There are many tools to convert Mercurial repositories to git. The -most famous are, perhaps, `hg-git `_ and +most famous are, probably, `hg-git `_ and `fast-export `_ (many years ago it was known under the name ``hg2git``). But a better tool, perhaps the best, is `git-remote-hg `_. It provides transparent bidirectional access (pull and push) to Mercurial repositories from -git. The author wrote a `comparison of alternatives +git. Its author wrote a `comparison of alternatives `_ that seems to be mostly unbiased.