Windows Git与github通过ssh进行远程协作

1.准备工作

安装git,(安装msysGit,对Git进行管理)
记得配置环境变量,git的安装目录下bin和cmd
在Path下添加

;C:\Program Files (x86)\Git\cmd;C:\Program Files (x86)\Git\bin;

2.进行SSH连接

$ssh-keygen -t rsa -C “[email protected]
注册github的邮箱
然后你会首先要输入sshkey的存储文件名
输入密码
成功则会显示The keyprinter is: 。。。
下一步进行连接测试
现在github 设置页面设置ssh,添加新的sshkey,如图
Windows Git与github通过ssh进行远程协作_第1张图片
Title可以随便起,Key需要找到C:\Users\fx50jk.ssh文件夹里面的.pub文件
复制里面全部内容(如果有msysGit或者Cygwin等工具则可以进入~/.ssh)
测试:git -t git@github
这里写图片描述
这个是成功的
失败时:Permission denied (publickey)

3.代码提交到github

跳转到你要提交代码的目录
$git init
$git add . //指的是把所有文件 添加到本地repository add后加一个文件是添加一个文件
$ git commit -m ‘first commit’//这里是添加commit的message(文件说明)(添加之后必须要提交)
定义远程服务器别名origin
$ git remote add origin [email protected]:yourname/first-project.git
(如果要换文件夹类推git remote add gs http://git.oschina.net/yiibai/git-start.git)
$git push origin master //origin指的是remote 远端地址, master 指的是你的分支。

设置Git全局用户配置$ git config –global user.name “msy”
$ git config –global user.email [email protected]

遇到的问题

  1. ssh-keygen -t rsa -C “[email protected]”没有改命令
    原因没有设置好环境变量
  2. 测试链接时ssh -t git@github Permission denied (publickey)还有就是knowns_hosts的问题。先查找是否能够找到.ssh文件夹,然后看.pub文件是否已生成,如果没有knowns——hosts或者没有.ssh文件夹就多半就解决了。第二种就是在ssh-keygen的地方输入密码还有文件名是直接回车跳过(我没有尝试。)
  3. 第三个问题进行提交的时候
! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to '[email protected]:asantoya/projectnewbies.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.

问题(Non-fast-forward)的出现原因在于:git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去
1.强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容()不建议
git push -f
2.git的东西pull到本地如果有问题可以在bash上输入如下命令行:
gitconfigbranch.master.remoteorigin git config branch.master.merge refs/heads/master
之后再git pull下然后提交。或者重新remote一个分支然后git push你的代码吧。


PS:安装好Git就可以用GitGui了如何使用详看

http://www.runoob.com/w3cnote/git-gui-window.html

你可能感兴趣的:(杂)