github配置和使用
其实github如何配置 官方的已经很清楚,如下
如何上传代码:
https://guides.github.com/activities/hello-world/
如何生存SSH key
https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
现在就讲述下其中出现的问题:
问题1 多用户如何配置github?
- 配置 user.name, user.email
公司已经有自己的git账号,但是还想把github整起来,而且这是另一个账号;
以前是单用户问题,配置很简单,使用global 全局配置即可;
git config –global user.name “name”
git config –global user.email “email”
然后在生成一个SSH key,添加到平台上;
因此,我们不能再安装github 官方的去配置global 账号,因为这样会覆盖之前公司分配的账号;
我就需要针对不同的项目设置不同的用户名邮箱。
cd ~/you project #进入项目文件夹
git init #初始化项目(如果已经是git目录了则不需要)
git config user.name “your_name” #重新设置用户名和邮箱
git config user.email “your_email”
说白了,也就是进入到你的git项目相对根目录下,然后执行git config设置记录。
这时候我们打开项目中的.git文件夹,查看config文件会发现多了两行
[branch “master”]
remote = origin
merge = refs/heads/master
[user]
name = you name
email = youemail@host.com
在下一次提交的时候就优先是用项目文件中的git配置信息了。如果有必要可以执行取消全局设置的命令
git config –global –unset user.name
git config –global –unset user.email
- 添加SSH key
官网已经有了,但是多git账号有个需要注意的地方,如下图,第3步需要改下,不要直接按enter 键,因为这个会覆盖你之前已经配置好的公司git账号下的ssh key;
因此,你需要
1. 另取一个文件名来保存这个ssh key;
Enter file in which to save the key (/Users/Administrator/.ssh/id_rsa): /Users/Administrator/.ssh/id_rsa_github
2、新密钥添加到SSH agent中
因为默认只读取id_rsa,为了让SSH识别新的私钥,需将其添加到SSH agent中:
ssh-add ~/.ssh/id_rsa_github
3.复制ssh 到github 账号
注意你要复制的.pub 应该是与上面你定义的文件名一致
$ pbcopy < ~/.ssh/id_rsa_github.pub
Copies the contents of the id_rsa.pub file to your clipboard
然后剩下的可以安装官网搞下;
以上所有配置完成;
问题2:添加SSH key后,验证不通过
使用如下可以看SSH 是否配置ok
$ ssh -T git@github.com
Permission denied (publickey).
因为新生成的key不能加入ssh就会导致连接不上github。
出现这个问题,可以重新copy下ssh key到git 账号下,看是不是开始copy错了;
问题3:config文件在哪里修改
使用git config -l 命令能看到所有的user配置
但是有时候笔误要修改,研究了会终于找到改动的地方,我是macPro
如何是修改global的config
cd ~/
vim .gitconfig
如何是修改某个项目的config,找到该项目目录
vim .git/config
问题4:如何上传代码
我试用了2种方法,首先得新建一个repository,建好分支,比如dev
- 直接通过 upload
通过git命令
拿到仓库地址
在本地拉下工程
git clone https://github.com/amylizxy/udpMulticast.git
按照上面所述在项目下配好user.name, user.email
git checkout -b dev origin/dev
添加文件
git add -u
git commit -m “add project”
git push origin dev
问题5: github 是否可以做代码review
使用如下,但是不起作用,也没有提交,这个问题待解决
git push origin HEAD:refs/for/dev