在 Ubuntu 14 上使用 Git
之前一直用 GitHub for Windows , GUI 帮我搞定了一切,不用关心背后发生了什么,就可以随意的 commit 和 push 代码。现在换到 Linux 环境之后发现没有那么方便了,全都要自己搞,虽然麻烦,但是学到不少东西。技术的事情还是偷不得懒的。
安装 Git
1 | $ sudo apt-get install git |
安装很简单,用 Ubuntu 的 apt-get 就可以了。
身份认证
安装了 git 还是不能将代码 push 到自己的 GitHub 上面,因为还没有认证。GitHub 提供了两种主要安全的连接方式,ssh 和 https 。GitHub 官方推荐使用 https.
- ssh 设置 ssh-key 比较麻烦,但后面使用就方便了
- https 使用用户名和密码进行身份认证, 每次 push 都要输入
SSH 认证
SSH 使用 RSA 非对称加密算法来加密信息,下面生成与 GitHub 服务器通信认证所需的密钥。
Generateing SSH key1
$ ssh-keygen -t rsa -b 4096 -C "grzpjdyc1653@126.com"
保存 key 的位置选择默认位置 ( ~/.ssh/
) 即可,直接按 Enter 。 然后需要为这个 key 设置一个passphrase(密码),后面会用到。最后就得到一个 key 了。
加入 key 到 ssh-agent1
ssh-add ~/.ssh/id_rsa
加入 key 到 GitHub 账户
首先复制 key1
2$ sudo apt-get install xclip
$ xclip -sel clip < ~/.ssh/id_rsa.pub
然后找到 GitHub -> Profile -> Settings -> SSH keys -> Add SSH key , 将剪贴板的内容复制到 key 里。保存即可。
验证是否添加成功1
$ ssh -T git@github.com
出现 Hi, username! 字样就是认证成功了。
使用 SSH 连接 push 代码
1 | cd repo |
这样就不用每次 push 都要输入用户名和密码了。
提交和同步
将所有修改的文件加入缓存区1
$ git add -A
提交修改1
$ git commit -m 'message'
推送到远程版本库1
$ git push
设置 push.default1
2$ git config --global push.default matching
$ git config --global push.default simple
- matching All branches
- simple Only the current branch
从远程版本库同步
1 | $ git pull |