git使用小技巧
生成ssh-key
$ ssh-keygen -t rsa -C “wanghengliang@outlook.com”
提示输入文件名称:github_rsa,或者直接回车则采用默认为id_rsa
提示输入密码:直接回车采用空密码
提示再次输入密码:直接回车采用空密码
然后就会生成两个文件
私钥:github_rsa
公钥:github_rsa.pub
本地多个ssh-key的问题
1.生成多个ssh-key键值对,参考生成ssh-key,生成多个文件
2.新建配置文件,并修改权限
touch ~/.ssh/config
chmod 600 ~/.ssh/config
3.编辑配置文件,这样在登陆的时候,ssh会根据登陆不同的域来读取相应的私钥文件,内容如下:
vi ~/.ssh/config
# #######该配置用于个人gitee上#######
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
User wanghengliang@outlook.com
IdentityFile ~/.ssh/gitee_rsa
# #######该配置用于个人github上#######
Host github.com
HostName github.com
PreferredAuthentications publickey
User wanghengliang@outlook.com
IdentityFile ~/.ssh/github_rsa
Git配置
–system 读写/etc/gitconfig –global 读写~/.gitconfig 不带参数 读写当前库中的.git/config
你的标识(Your Identity)
$ git config --global user.name “x@aosunlive.com”
$ git config --global user.email “x@aosunlive.com”
你的编辑器(Your Editor)
你可以配置你的缺省文本编辑器,Git在需要你输入一些消息时会使用该文本编辑器。缺省情况下,Git使用你的系统的缺省编辑器,这通常可能是vi 或者 vim。如果你想使用一个不同的文本编辑器,例如Emacs,你可以做如下操作:
$ git config --global core.editor emacs
你的比较工具(Your Diff Tool)
你可能需要配置的有用的选项是缺省的比较工具它用来解决合并时的冲突。例如,你想使用vimdiff:
$ git config —global merge.tool vimdiff
Git可以接受kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge, 和 opendiff作为有效的合并工具。你也可以设置一个客户化的工具;
检查你的设置(Checking Your Settings)
如果你想检查你的设置,你可以使用 git config –list 命令来列出Git可以在该处找到的所有的设置:
$ git config --list
你可能会看到一个关键字出现多次,这是因为Git从不同的文件中(例如:/etc/gitconfig以及~/.gitconfig)读取相同的关键字。 在这种情况下,对每个唯一的关键字,Git使用最后的那个值。
你也可以查看Git认为的一个特定的关键字目前的值,使用如下命令 git config {key}:
$ git config user.name
Git 别名
如果不想每次都输入完整的 Git 命令,可以通过 git config 文件来轻松地为每一个命令设置一个别名。这里有一些例子你可以试试:
$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status
这意味着,当要输入git commit时,只需要输入
git ci。随着你继续不断地使用Git,可能也会经常使 用其他命令,所以创建别名时不要犹豫。
在创建你认为应该存在的命令时这个技术会很有用。例如,为了解决取消暂存文件的易用性问题,可以向 Git 中 添加你自己的取消暂存别名:
$ git config —global alias.unstage 'reset HEAD --'
这会使下面的两个命令等价:
$ git unstage fileA
$ git reset HEAD -- fileA
这样看起来更清楚一些。通常也会添加一个 last 命令,像这样:
$ git config --global alias.last 'log -p -1 HEAD'
这样,可以轻松地看到最后一次提交:
$ git last
commit 5bbef100d0459846782659d7a620c8a447130a62
Author: hengliang [x@aosunlive.com](mailto:x@aosunlive.com)
Date: Fri Nov 4 17:06:02 2016 +0800
修改配置文件.gitignore,忽略所有的eclipse配置文件
更多常用别名
$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status
$ git config --global alias.unstage 'reset HEAD --'
$ git config --global alias.last 'log -p -1 HEAD'
$ git config --global alias.ll 'log --stat --abbrev-commit'
$ git config --global alias.llg "log --color --graph --pretty=format:'%C(bold white)%H %d%Creset%n%s%n%+b%C(bold blue)%an <%ae>%Creset %C(bold green)%cr (%ci)' --abbrev-commit"
获取帮助(Getting help)
如果当你在使用Git时需要帮助,有三种方法可以获得任何git命令的手册页(manpage)帮助信息:
$ git help
$ git
$ man git-
例如,你可以运行如下命令获取对config命令的手册页帮助:
$ git help config
这些命令非常友好,因为你可以在任何地方存取他们,即使非在线状态。如果手册页和本书仍然不足而你需要个人的帮助,你可以试着使用Freenode IRCServer上的#git或#github 频道(irc.freenode.net)。这些频道会定期由数百个对Git非常熟悉的专业人士所维护,他们会非常乐意帮助你。