scm/hg-git-rosetta-stone: simplified mapping between hg commands and git commands
authorTomas Zeman <tzeman@volny.cz>
Sun, 25 Aug 2013 21:04:14 +0200
changeset 34 11d20ddca9d8
parent 33 89e588e5e724
child 35 1c1f40be923d
scm/hg-git-rosetta-stone: simplified mapping between hg commands and git commands If you know how to use hg very well and just looking at how to do the same things in git, this page is right for you. Use it like a dictionary hg -> git.
scm/hg-git-rosetta-stone
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scm/hg-git-rosetta-stone	Sun Aug 25 21:04:14 2013 +0200
@@ -0,0 +1,102 @@
+https://github.com/sympy/sympy/wiki/Git-hg-rosetta-stone
+
+Git hg rosetta stone
+
+Use it like a dictionary hg -> git.
+
+Rosetta Stone
+=============
+
+
+|hg                   |git                                                    |
+|hg cat -r rev        |git show rev:some_file                                 |
+|some_file            |                                                       |
+|hg clone             |git clone git://git.sympy.org/sympy.git                |
+|http://hg.sympy.org/s|                                                       |
+|ympy-git.hg          |                                                       |
+|hg clone -U          |git clone --bare git://git.sympy.org/sympy.git         |
+|http://hg.sympy.org/s|                                                       |
+|ympy-git.hg          |                                                       |
+|hg diff              |git diff HEAD                                          |
+|hg status            |git status                                             |
+|hg manifest          |git ls-tree -r --name-only --full-tree HEAD            |
+|hg parents           |git show --pretty=format:'%P' -s                       |
+|hg commit            |git commit -a                                          |
+|hg record            |git add -p; git commit # or, for a more detailed       |
+|                     |interface: git add -i; git commit                      |
+|hg email -r tip      |git send-email HEAD^ # or: git format-patch HEAD^ ; git|
+|                     |send-email 0001-Add-whitespace.patch                   |
+|hg view              |gitk, git gui                                          |
+|hg help command      |git help command                                       |
+|~/.hgrc              |~/.gitconfig                                           |
+|.hg/hgrc             |.git/config                                            |
+|hg paths             |git remote -v                                          |
+|editing paths in     |git remote add name url # see "git help remote" for    |
+|.hg/hgrc             |more info how to edit paths; alternatively, you can    |
+|                     |edit them by hand in .git/config too                   |
+|.hgignore            |.gitignore                                             |
+|.hg/hgrc [ui] ignore |.git/info/exclude                                      |
+|hg add               |git add (note, it adds _content_ to index; can work on |
+|                     |a hunk-by-hunk basis with -p!)                         |
+|hg rm                |git rm                                                 |
+|hg push              |git push                                               |
+|hg pull              |git fetch                                              |
+|hg pull -u           |git pull                                               |
+|hg addremove         |git add -A (or: git add .; git ls-files --deleted xargs|
+|                     |git rm)                                                |
+|hg revert -a         |git reset --hard                                       |
+|hg revert some_file  |git checkout some_file                                 |
+|hg strip 2fccd4c     |git reset --hard 2fccd4c^                              |
+|hg export            |git format-patch                                       |
+|hg import --no-commit|git apply some.patch                                   |
+|some.patch           |                                                       |
+|hg import some.patch |git am some.patch                                      |
+|hg out               |git fetch && git log FETCH_HEAD..master                |
+|hg in                |git fetch && git log master..FETCH_HEAD                |
+|hg update tip        |git checkout HEAD # or this: "git checkout master", or |
+|                     |"git merge FETCH_HEAD", depending on what you did      |
+|                     |before this                                            |
+|hg update -C         |git checkout -f                                        |
+|hg update some.branch|git checkout some.branch # Note that "git branch       |
+|                     |some.branch" is not the same as this.                  |
+|hg qimport           |stg something (A separate patch manager extension is   |
+|                     |probably not necessary in git -- normal workflow       |
+|                     |combined with git rebase -i should cover your needs)   |
+|hg qpush             |(see hg qimport)                                       |
+|hg qpop              |(see hg qimport)                                       |
+|hg qimport -r tip    |?                                                      |
+|hg qnew -f some.patch|?                                                      |
+|hg resolve -a -m     |git add -u                                             |
+|hg glog              |git log --graph --all --decorate # or: git log --graph |
+|                     |--all;                                                 |
+|hg verify            |git fsck                                               |
+
+
+Setup
+=====
+
+~/.gitconfig:
+
+ [user]
+     name = Ondrej Certik
+     email = ondrej@certik.cz
+
+ [color]
+     ui = auto
+
+ [color]
+     decorate = short
+
+ [alias]
+     ci = commit
+     di = diff --color-words
+     st = status
+
+     # aliases that match the hg in / out commands
+     out      = !git fetch && git log FETCH_HEAD..
+     outgoing = !git fetch && git log FETCH_HEAD..
+     in       = !git fetch && git log ..FETCH_HEAD
+     incoming = !git fetch && git log ..FETCH_HEAD
+
+
+