序
在mac上上传项目到github上,遇到一些问题,在此做下记录;
准备
- 1 下载安装git客户端 http://code.google.com/p/git-osx-installer/downloads/list?can=3
- 2 注册github账号 https://github.com/
创建ssh
由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以要在本地生成一个私钥和一个密钥
- 1
defaults write com.apple.finder AppleShowAllFiles -bool true // 终端 显示隐藏文件(需要重新运行Finder)。
2 点击桌面顶部菜单 前往>个人 看看自己电脑上有没有个 .ssh 的隐藏文件,有的话个人建议删除,新建个。
3
mkdir .ssh //终端新建个 .ssh文件
- 4
cd .ssh // 进入到刚才新建的.ssh文件目录下
- 5
ssh-Keygen -t rsa -C "your_email@example.com" //后面“ ”里面 随意输入个邮箱就行,回车会提示你输入密码什么的,可以无视一直回车下去。
- 6
ls -la // 查看是否存在 id_rsa(私钥) id_rsa.pub(公钥) 这两个东西,如果存在就成功了
- 7
pbcopy < ~/.ssh/id_rsa.pub //拷贝 公钥
- 8
登陆github,选择Account Settings-->SSH Keys 添加ssh
Title:xxxxx@gmail.com
Key:打开你生成的id_rsa.pub文件,将其中内容拷贝至此。
⑨ ssh -T git@github.com 新添加到github上的秘钥左边的点一开始是灰色的,终端执行这个命令后,刷新网页会看到灰色点变成了绿色。
创建项目
- 1 打开终端,先测试一下你的帐号跟github连上没有:ssh -T git@github.com 如果出现如下提示,表示你连已经连上了.(因为有了第一步,所以不用自己做过多的连接github的操作了,另外,下一次要连接github的时候记得打开第一步的工具).
Hi MiracleHe! You've successfully authenticated, but GitHub does not provide shell access.
- 2 在git创建个人项目
上传项目
根据如下步骤来
touch README.md //新建一个记录提交操作的文档
git init //初始化本地仓库
git add README.md //添加
git add * //加入所有项目
git status //检查状态 如果都是绿的 证明成功
git commit -m "first commit"//提交到要地仓库,并写一些注释
git remote add origin git@github.com:youname/Test.git //连接远程仓库并建了一个名叫:origin的别名
git push -u origin master //将本地仓库的东西提交到地址是origin的地址,master分支下
出错问题分析
如果输入$ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git
提示出错信息:fatal: remote origin already exists.
解决办法如下:
1、先输入$ git remote rm origin
2、再输入$ git remote add origin git@github.com:djqiang/gitdemo.git 就不会报错了!
3、如果输入$ git remote rm origin 还是报错的话,error: Could not remove config section 'remote.origin'. 我们需要修改gitconfig文件的内容
4、找到你的github的安装路径,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc
5、找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]那一行删掉就好了!
如果输入$ ssh -T git@github.com
出现错误提示:Permission denied (publickey).因为新生成的key不能加入ssh就会导致连接不上github。
解决办法如下:
1、先输入$ ssh-agent,再输入$ ssh-add ~/.ssh/id_key,这样就可以了。
2、如果还是不行的话,输入ssh-add ~/.ssh/id_key 命令后出现报错Could not open a connection to your authentication agent.解决方法是key用Git Gui的ssh工具生成,这样生成的时候key就直接保存在ssh中了,不需要再ssh-add命令加入了,其它的user,token等配置都用命令行来做。
3、最好检查一下在你复制id_rsa.pub文件的内容时有没有产生多余的空格或空行,有些编辑器会帮你添加这些的。
如果输入$ git push origin master
提示出错信息:error:failed to push som refs to .......
解决办法如下:
1、先输入$ git pull origin master //先把远程服务器github上面的文件拉下来
2、再输入$ git push origin master
3、如果出现报错 fatal: Couldn't find remote ref master或者fatal: 'origin' does not appear to be a git repository以及fatal: Could not read from remote repository.
4、则需要重新输入$ git remote add origingit@github.com:djqiang/gitdemo.git