$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
$ apt-get install git-core
$ git --version
LINUX---centOS 安装GIT
$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
$ yum -y install git-core
$ git –version
WINDOWS安装GIT
官网http://git-scm.com/downloads下载安装包
在 Mac 平台上安装
用图形化的 Git 安装工具,下载地址为:http://sourceforge.net/projects/git-osx-installer/
LINUX配置文件位置:
/etc/gitconfig | 全局配置,对所有用户都有效 | git config --system xxx vvv |
---|---|---|
~/.gitconfig | 用户配置,只对本用户有效 | git config --global xxx vvv |
.git/config | 项目配置,只对本文件夹内项目有效 | git config xxx vvv |
WINDOWS配置文件位置
GIT安装目录下的/etc/gitconfig | 全局配置 | git config --system |
---|---|---|
$HOME /.gitconfig | 用户配置: $HOME常为:C:\Documents and Settings\$USER | git config --global |
.git/config | 项目配置 | git config |
注:每个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖/etc/gitconfig 中的同名变量
$ git config --global user.name "hhp" | 配置个人的用户名称 |
---|---|
$ git config --global user.email hhp@host.com | 配置个人的电子邮件地址 |
$ git config --global core.editor vim | 设置Git默认使用的文本编辑器, 一般可能会是 Vi 或者 Vim, 或emacs |
$ git config --global merge.tool vimdiff | 配置差异分析工具: 在解决合并冲突时使用哪种差异分析工具 Git 可以理解 kdiff3,tkdiff,meld,xxdiff,emerge, vimdiff,gvimdiff,ecmerge,和 opendiff 等合并工具 |
$ git config --global push.default simple $ git config --global credential.helper store | 使用HTTPS方式PUSH代码,第一次输入密码, 后面不需要输入; |
$ git config --list | 检查已有的配置信息 |
---|---|
$ git config user.name | 直接查阅某个环境变量的设定,例如用户名 |
项目目录下 .gitignore------使用glob模式(shell使用的简化的正则表达式)
*.a | 忽略所有 .a 结尾的文件 |
---|---|
!lib.a | 但 lib.a 除外 |
/TODO | 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO |
build/ | 忽略 build/ 目录下的所有文件 |
doc/*.txt | 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt |
doc/**/*.txt | ignore all .txt files in the doc/ directory |
可以用 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 config --global alias.unstage 'reset HEAD --'
另外,我们还经常设置 last 命令:
$ git config --global alias.last 'log -1 HEAD'
希望运行某个外部命令,而非 Git 的子命令,只需要在命令前加上 ! 就行。如果你自己写了些处理 Git 仓库信息的脚本的话,就可以用这种技术包装起来。例如可以设置用 git visual 启动 gitk:
$ git config --global alias.visual '!gitk'
------本地Git仓库和GitHub仓库的传输是通过SSH加密的
(1) 在本地生成SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
其中youremail@example.com对应改为在github上注册的邮箱,接着要求输入路径和密码时直接一路回车;
成功后~/.ssh下生成id_rsa.pub 文件,
(2)将本地~/.ssh下生成id_rsa.pub 文件里的内容,添加到GITHUB个人设置的SSH KEY中
(3)用命令验证是否设置成功: $ ssh -T git@github.com;
成功显示:Hi Huanghuap! You've successfully authenticated, but GitHub does not provide shell access
生成过程中有多选择, 如下:
选择秘钥种类: rsa and rsa 选择秘钥长度: 用户名: 邮箱: 要求输入密码来保护秘钥:
生成过程比较慢,等几分钟后,生成秘钥,
Gpg – full-generate-key | 生成秘钥 |
---|---|
gpg --gen-revoke 用户ID | 生成撤销证书 |
gpg --list-keys | 显示生成的秘钥 |
gpg --delet-key 用户ID | 删除某个秘钥 |
gpg --armor --output public-key.txt --export 用户ID | 输出公钥 |
gpg --armor --output private-key,txt --export-secret-keys | 输出秘钥: 为何每次输出的秘钥都是不同的? |
(1) 创建一个新的本地仓库:mkdir git_1 && cd git_1 && git init
(2) 添加:git remote add origin git@github.com:huanghuap/hhp_1.git
注:此时本地仓库为master, 远程仓库为 origin
注:同一个本地仓库可添加多个远程仓库;
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。