由于公司一直使用的是的SVN,基本上都是内网,原来的git命令都快忘记了,当然也是自己太懒,平时都是直接拖到github上。今天打开idea后突然看到了原来自己写好的一个项目,就想将它上传到github上,也顺便再复习一下git命令,没想到也是遇到了很多坑,也是参考了几个大神的博客才解决,因此想记录一下。

因为项目是之前写好的,一直放在idea的工作空间里,git是之前已经下好的,包括github上仓库已经建好,万事俱备。

1.首先是打命令行窗口 ,cd到项目的目录中

yht:~ YHT$ cd /Users/ae/IdeaProjects/CloudDisk
yht:CloudDisk YHT$ ls
HELP.md mvnw.cmd src
mvnw pom.xml target

2.然后在初始化仓库

yht:CloudDisk YHT$ git init
Initialized empty Git repository in /Users/ae/IdeaProjects/CloudDisk/.git/

3.设置用户名和邮箱

刚开始时就直接add然后commit -m,就会提示让你先输入邮箱和用户名。 下面都有提示该怎么敲命令,还是非常友好的,有时候命令敲错了,漏掉一两个单词也会给出提示。

#如果没有设置邮箱和名字直接commit会提示你设置
yht:CloudDisk YHT$ git commit -m "project first commit" *** Please tell me who you are. Run git config --global user.email "you@example.com"
git config --global user.name "Your Name" to set your account's default identity.
Omit --global to set the identity only in this repository. fatal: unable to auto-detect email address (got 'YHT@yht.(none)')

忘记了是否设置过,可以用命令查看一下,如果设置过了会显示出来。

yht:.ssh YHT$ git config --global --list
user.email=你的邮箱
user.name=你的名字
#没有的话设置一下
yht:.ssh YHT$ git config --global user.email "你的邮箱"
yht:.ssh YHT$ git config --global user.name "你的名字" 

4.测试SSH连接

记得原来生成过一次秘钥,但是上github上的setting中的SSH keys看了一下,发现只有一个SSH Key,好像绑定的是另一个电脑,因此就重新生成一个吧。

cd /Users/ae/.ssh
yht:.ssh YHT$ ssh-keygen -t rsa -C "你的邮箱" #回车 #回车 #回车 Your identification has been saved in /Users/ae/.ssh/id_rsa.
Your public key has been saved in /Users/ae/.ssh/id_rsa.pub.

输完命令回车就行 会在.ssh文件下生成一个 id_rsa 和一个 id_rsa.pub文件

通过cat id_rsa.pub或vi id_rsa.pub 查看该文件,然后复制到 github中的setting-->SSH and GPG keys-->New SSH key,取个你喜欢的名字然后将秘钥复制到里面。

然后测试SSH连接

yht:.ssh YHT$ ssh -T git@github.com 
Hi aoteman! You've successfully authenticated, but GitHub does not provide shell access.

当时也是没有生成SSH Keys直接commit  然后就一直报错

git@github.com: Permission denied (publickey).

5.提交代码到远程仓库

先设置一下远程仓库的地址,因为我们使用的是SSH连接,在github中点开仓库,然后Clone or download,右上角选择SSH连接,复制一下远程仓库地址。

#设置远程仓库地址
yht:CloudDisk $YHT git remote add origin "你的远程仓库地址"
#查看远程仓库地址
yht:CloudDisk YHT$ git remote -v
origin git@github.com:aoteman/CloudDisk.git (fetch)
origin git@github.com:aoteman/CloudDisk.git (push)
...
yht:CloudDisk YHT$ git push -u origin master 

到此本以为大功告成了,只剩下add、commit、push即可,然而再push的时候再次出现问题。。。

hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

翻译过来的意思大概就是远程仓库包含你还没有的文件,你可以在push之前先pull一下,想了一下确实远程仓库中初始化的有README.md文件,不是一个空的仓库,因此使用git pull先拉取到本地。

拉取完成后总可以提交了吧,然而还是报错

fatal: refusing to merge unrelated histories 
(拒绝合并不相关的历史)

百度了一下说是因为本地仓库并不是从远程仓库中git clone下来的,实质上是两个独立的仓库,确实是这样,我是先在github上创建了一个仓库,又在本地的项目中去git init了,然后找到了一条命令:

git pull origin master --allow-unrelated-histories(该选项可以合并两个独立启动仓库的历史)

最后 将本地仓库中的文件推送到远程仓库即可。

git push -u origin master

6.总结:知识学过了如果不经常使用总是容易忘,平时的工作学习都是阶段性的,很容易忽略一些学过的重要的知识,因此平时要多总结,养成一个好习惯,加油!

记录--git命令行上传项目到github仓库的更多相关文章

  1. 如何使用git命令行上传项目到github

    第一步:我们需要先创建一个本地的版本库(其实也就是一个文件夹). 你可以直接右击新建文件夹,也可以右击打开Git bash命令行窗口通过命令来创建. 现在我通过命令行在桌面新建一个TEST文件夹(你也 ...

  2. 如何用git命令行上传本地代码到github

    注意:安装的前提条件是配置好Git的相关环境或者安装好git.exe,此处不再重点提及 上传的步骤: 本文采用git 命令界面进行操作,先执行以下两个命令,配置用户名和email[设置用戶名和e-ma ...

  3. 用命令行上传本地代码到GitHub

    有两种方式上传,ssh和https,ssh老是报错=.=我用的是https 先下载git   https://git-scm.com/downloads 在代码的文件夹的同级目录中邮件打开git ba ...

  4. 手把手教你用git和SourceTree上传项目到github细解(转)

    尊重原创:https://blog.csdn.net/qq_32365567/article/details/52859166 一.引言 我想大家现在都很熟悉github了,也能运用github上开源 ...

  5. 使用Git GUI,上传项目到github,并实现预览功能

    一.使用GUI,上传项目到GitHub (GUI是啥,不做过多赘述,可百度了解) 步骤: 1.打开GUI,新建一个仓库,demo 2.在编辑器中,编写相关代码,比如添加1.html文件,文件内容为“h ...

  6. 【重要】使用Git命令行上传到GitHub上

    [本人GitHub账号:] 用户名:chenhongshuang 密码:shuangshuang6300 邮箱:2452420371@qq.com 进入GitHub账号后 1·新建项目文件名称例dem ...

  7. git入门及上传项目到github

    Git入门:       如果你完全没有接触过Git,你现在只需要理解通过Git的语法(敲入一些命令)就可以将代码上传到远程的仓库或者下载到本地的仓库(服务器),我们此时应该有两个仓库,就是两个放代码 ...

  8. 通过命令行上传代码到GitHub

    自工作以来,本人第一次使用GitHub.下面是将本地的项目上传到GitHub的过程.上传代码的前提是:1.已注册GitHub账号:2.本地已安装Git. 第一步:远程Git仓库 进入本地的项目的根目录 ...

  9. Git入门及上传项目到github中

    最近需要将课设代码上传到Github上,之前只是用来fork别人的代码. 这篇文章写得是windows下的使用方法. 第一步:创建Github新账户 第二步:新建仓库 第三部:填写名称,简介(可选), ...

随机推荐

  1. JAVA实现RSA加密解密 非对称算法

    首先RSA是一个非对称的加密算法.所以在使用该算法加密解密之前,必须先行生成密钥对.包含公钥和私钥 JDK中提供了生成密钥对的类KeyPairGenerator,实比例如以下: public stat ...

  2. 11082 完全二叉树的种类 O(n) 卡特兰数

    11082 完全二叉树的种类 时间限制:800MS  内存限制:1000K提交次数:0 通过次数:0 题型: 编程题   语言: G++;GCC;VC Description 构造n个(2<=n ...

  3. 加logo

    import cv2 import numpy as np # f0,f1='feiyong.jpg','g3logo.jpg' # # #f1,f0='feiyong.jpg','g3logo.jp ...

  4. bzoj2300

    http://www.lydsy.com/JudgeOnline/problem.php?id=2300 终于对了... 平衡树又写挂了...不要忘记清空原先的root和修改root... #incl ...

  5. bzoj2194

    http://www.lydsy.com/JudgeOnline/problem.php?id=2194 卷积... 卷积并不高深,其实卷积就是两个多项式相乘的系数,但是得满足一点条件,就是f[n]= ...

  6. Timer A UP mode 中断

    Timer_A, Toggle P1.0, CCR0 Up Mode ISR, DCO SMCLK //  Description: Toggle P1.0 using software and TA ...

  7. npm 与 package.json 快速入门教程

    npm 与 package.json 快速入门教程 2017年08月02日 19:16:20 阅读数:33887 npm 是前端开发广泛使用的包管理工具,之前使用 Weex 时看了阮一峰前辈的文章了解 ...

  8. [Apple开发者帐户帮助]九、参考(4)支持的功能(macOS)

    macOS应用程序可用的功能取决于您的程序成员身份和签名证书. 能力 ADP 开发者ID Apple开发者 应用程序组 App沙盒 游戏中心     硬化运行时 iCloud:CloudKit   i ...

  9. [Apple开发者帐户帮助]八、管理档案(1)创建开发配置文件

    您可以在开发人员帐户中创建开发配置文件,以便在Xcode中手动签署应用程序时使用. 在开始之前,您需要一个App ID,一个或多个开发证书以及一个或多个已注册的设备.您可以使用Xcode为您管理的Ap ...

  10. [Swift通天遁地]九、拔剑吧-(4)使用开源类库创建可滑动的Segment分段控件

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...