【学习记录】使用Github过程中出现的问题及解决办法

今天想把之前数据库课设的代码上传Github,不想上传过程中出现了许多error,于是就查了下资料。解决之后写个备忘录好了~


基础上传

首先在git上建立一个项目,这个我就照抄教程好了:

———————————————以—下—是—复—制—的————————————————

1.在git创建项目

登录Github,点击右边按钮“New Responsitory” ,填写项目名等信息,获得一个github.com/项目名.git 的url即为项目地址。

2.配置Git以及上传代码

打开Git Shell,输入:
git config --global user.name "Your Real Name" 
git config --global user.email [email protected]

然后你上传文件到Git上,得需要一个SSH密匙来认证,开始生成密钥和提交密钥。打开Git Bash,创建SSH key:
ssh-keygen -C '[email protected]' -t rsa
然后要你输入SSH密匙的存放位置,可以不管,直接回车使用默认路径。再输入你想要的密码,SSH key就生成了。现在你需要将这个Key提交到GitHub,首先打开Key保存的位置,里面会有三个文件,找到id_rsa.pub,用文本编辑器打开,复制里面的全部字符。到GitHub,在右上方工具栏里找到Account Settings。在这个页面上有一个SSH Public Keys标签,选择Add another public key。Title可以随便填一个,Key就粘贴刚才的字符,提交。
完成这些工作后,就可以上传自己的代码了。找到自己要分享上传的代码文件夹,右击选择Git Bash,或者在Git Bash中进入这个文件夹。建立一个仓库:

$ git init //创建仓库
$ touch a.txt //创建文件
$ git add a.txt //选定该文件
$ git commit -a -m 'add a.txt' //将其加入仓库
$ git push //更新本地仓库到云端


———————————————我—是—分—割—线————————————————


上传失败的问题

好了到此为止是正常的顺序,很遗憾我没有这么顺利,下面列出我遇到的问题以及解决办法。


一.如果输入$ git remote add origin github.com/xusongqi/项目名.git
    提示出错信息:fatal: remote origin already exists.
    解决办法如下:
    1、先输入$ git remote rm origin
    2、再输入$ git remote add origin [email protected]: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_ca477...(很长一串字符,因人而异)\etc
    5、找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]那一行删掉就好了!


二、如果在执行 git push origin master 的时候,提示以下错误:
error: src refspec master does not match any.
error: failed to push some refs to 'https://github.com/xusongqi/项目名.git'

这是由于项目为空的原因,我们在项目目录里新创建一个文件。经过->add -> commit -> push 就可以解决了。

$ git add a.txt
$ git commit -a -m ‘a.txt' //随便commit一个仓库内的文件
$ git push -u origin master

搞定!


批量上传

——————————————第一次更新—2014.3.7———————————————————

如果一个仓库中有多个文件夹内容,可以使用git的批量上传功能。

步骤如下:

1.进入目标仓库下,输入 git add -A

2.git commit -m “引号里写该次的备注”

3.git push

Done!批量上传完成~

此次更新感谢Crabbit的帮助~


本地库与云端不一致

———————————————第二次更新——2014.3.8———————————————

当本地版本与服务器版本不同时,使用git push -u origin master 会报错:

error: failed to push some refs to 'github.com/xusongqi/Wiiroid_server.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

解决方案:

1.输入git pull//从服务器下载之前版本

2.修改下服务器上的配置(.git/config),

添加:
[receive]
denyCurrentBranch = ignore

并保存退出。

3.再次上传即可:git push -u origin master

搞定!


———————————————第三次更新——2014.5.23———————————————

修改已commit的信息

如果已经git commit -m "xxx",想要修改,办法如下:

使用git commit --amend -m "new info" 即可。

【副作用】会导致服务器出现两次提交记录(即:修改之前和修改之后的两次记录)。


———————————————第四次更新——2014.6.17———————————————

合并fork的项目

http://www.360doc.com/content/13/0410/18/2569758_277424931.shtml

参考资料

初始参考资料

github常见操作和常见错误!错误提示:fatal: remote origin already exists.

CentOS下搭建Git服务器Gitosis[教程]

【已解决】git中push origin master出错:error: src refspec master does not match any.

github本地如何上传代码 百度知道


第二次更新参考资料

github push错误之failed to push some refs to……

error: failed to push some refs to ... Winjay的新浪博客


你可能感兴趣的:(github,git)