赞
踩
对于程序原来说都听说过GitHub,GitHub有许多开源的的项目和一些前沿的技术。因为自己在刚刚开始使用Git把自己写的一些小dome放到GitHub上遇到许多的坑,这么长时间过去了,想对第一次使用Git上传代码做一下总结,以免使自己忘记。
我下载的是2.22.0 Release Notes版本
接下来是重点,**若这一步没有通过的话;秘钥没有认证完成,就不能上传文件,**这个已经踩坑了,一直英语提示tell who are you ;
在git bash界面输入如下内容即可完成邮箱的注册:
$ git config --global user.name "user.name"
(说明:双引号中需要你的用户名,这个可以随便输入,比如“zhangsan”)
$ git config --global user.email "yourmail@youremail.com.cn"
(说明: 双引号中需要输入你的有效邮箱,比如“12131312@qq.com”)
若出现“No such file or directory”,则表示需要创建一个ssh keys。
我的秘钥已经设置过,如下面的状态:
$ssh-keygen -t rsa -C "你的邮箱名"
$指定目录: C:\deskbook\(说明:若在此处不输入路径,而直接按回车,则ssh keys生成后存放的路径为C:\User.ssh)我的默认存放路径是C:\Users*.ssh**,我指定的目录是D:\MySoftware\github\Git\id_rsa* 但是在后面使用公钥的时候,貌似只能识别C:\用户\fhj\下的.ssh*,所以我又将指定目录下的两个文件id_rsa、id_rsa.pub拷贝到了C:\用户\fhj\.ssh
$输入密码: 123456
$确认密码: 123456
如此即可在C:\deskbook\文件夹中生成ssh keys。包括两个文件rd_rsa和id_rsa.pub
然后找到rd_rsa和id_rsa.pub所在目录打开idb_rsa.pub(可以把后缀名改成.txt),登录自己的GitHub账号,找到Settings,
进入Settings后,点击SSH and GPG keys,然后再点击右上角添加新密钥按钮New SSH key,
然后,将idb_rsa.pub里的内容拷贝到Key内,Title内容随便填,确定即可。
如填写 title 为rsa
现在我通过命令行在桌面新建一个testapp文件夹(你也可以在其他任何地方创建这个文件夹),并且进入这个文件夹
这时桌面上就会出现一个文件夹,你可以将你的项目代码拷贝进来
这时你会发现TEST里面多了个.git文件夹,它是Git用来跟踪和管理版本库的。如果你看不到,是因为它默认是隐藏文件,那你就需要设置一下让隐藏文件可见。
这里提示你虽然把项目粘贴过来了,但还没有add到Git仓库上,然后我们通过git add .把刚才复制过来的项目全部添加到仓库上。
这个注释其实就是你github上的中间一栏,所以写什么内容都随你
先创建SSH KEY。先看一下你C盘用户目录下有没有.ssh目录,有的话看下里面有没有id_rsa和id_rsa.pub这两个文件,有就跳到下一步,没有就通过下面命令创建
$ ssh-keygen -t rsa -C "youremail@example.com"
然后一路回车。创建成功后会显示这样:
这时你就会在用户下的.ssh目录里找到id_rsa和id_rsa.pub这两个文件。但是这个文件刚创建的时候是没有known_hosts文件的,而我这里有是因为我提交成功后生成的。
同时你要给你的github上添加密钥
Github上创建一个Git仓库。
你可以直接点New repository来创建,比如我创建了一个tes2t的仓库。
上面我没有默认勾选Initialize this repository with a README,勾选和不勾选创建的结果区别如下:
下边这个是勾选的
$ git remote add origin git@github.com:CharlesTian07/test2.git
一定要记得$ git remote add origin git@github.com:这部分命令是固定的,但是后面的是你的github账户昵称和你创建的项目名称。上面的只是举个例子,实际上要怎么找到这两个信息,看下图:
附(特殊说明):
这是第一次上传至github上,且github上是空的情况下,如果github上不是空的,那么你在本地修改代码之后要更新至github上时(第一次需先连接远程仓库git remote add origin git@github.com),这时 你可以使用命令:git status查询你的文件有哪些修改了(修改的文件显示为红色),然后输入命令git add ./,意思是把修改的文件提交上去,这时再git status会发现修改的文件是绿色的,最后再git commit -m "你的注释"即可上传上去。
若是想在另外一台电脑同步的话,那么输入命令git pull git@github.com即可(第一次需先连接远程仓库git remote add origin git@github.com)。
但是第一次pull或者上传的时候会出现以下问题,如图:
意思很明显,因为你是第一次,所以远程仓库并不知道你是谁,即使组长已经将你添加进开发组中,这时你需要先表明你的身份是否在开发组中, 接下来根据提示的步骤来:
①git config --global user.email "youraddress@company.com"
②git config --global user.name “yourname”
表明之后再提交即可,即:git commit -m “your comment”
$ git push -u origin master
由于新建的远程仓库是空的(未勾选3.2步的Initialize this repository with a README),所以要加上-u这个参数。
若勾选了
Initialize this repository with a README(就是创建仓库的时候自动给你创建一个README文件),那么到了第3.4步你将本地仓库内容推送到远程仓库的时候就会报一个to https://github.com/sdc123456789/xiaobin的错
这是由于你新创建的那个仓库里面的README文件不在本地仓库目录中,这时我们可以通过以下命令先将内容合并以下:
$ git pull --rebase origin master
这时你再push就能成功了
如果上述操作之后还是会报错,那么可能有以下几个原因:
原因:1.github上没有与本地仓库相关联(重新remote)
2.ssh不对(多数情况)
ssh解决:
cat ~/.ssh/id_rsa.pub 查看ssh是否是自己的,不是说明是ssh问题,是的就是远程关联问题
如果是ssh问题则在git仓库同目录 删除.ssh文件夹 (隐藏文件夹)
判断删除成功: cat ~/.ssh/id_rsa.pub
出现cat: /c/Users/ZhangLin/.ssh/id_rsa.pub: No such file or directory
3.重新创建ssh ssh-keygen -t rsa -C "your_email@example.com“
一路回车
4.在ssh文件夹下pub文件中的内容复制 github上新建一个ssh链接
附:1、我在remote远端仓库时,出现origin already exists
解决办法 git remote rm origin
2、permission denied(publickey)
密钥要默认在c盘,用户名和邮箱都输对
3、这里有个坑需要注意一下,就是在上面第3.2步创建远程仓库的时候,如果你勾选了Initialize this repository with a README(就是创建仓库的时候自动给你创建一个README文件),那么到了第3.4步你将本地仓库内容推送到远程仓库的时候就会报一个to https://github.com/sdc123456789/xiaobin的错
这是由于你新创建的那个仓库里面的README文件不在本地仓库目录中,这时我们可以通过以下命令先将内容合并以下:
$ git pull --rebase origin master
这时你再push就能成功了。
原文:https://blog.csdn.net/charles_tian/article/details/80842439
https://www.cnblogs.com/sdcs/p/8270029.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。