文章目录
我觉得学习github的人基本上已经快要脱离了小白的标签,虽然我一直喜欢自称为小白。对于程序员原来说应该都听说过GitHub,GitHub有许多开源的的项目和一些前沿的技术。因为自己在第一次使用过Git和github时遇到过不少的坑,所以,想对第一次使用Git上传代码做一下总结,以免使自己忘记,也算是分享给大家一点小小的经验,不足的地方还请大家多多指教。
先介绍一下Git以及github
一、github和Git是什么
1、什么是Git
githubGit(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
说的明白一点,Git一般放在客户端,用于连接本地仓库和github远程仓库。Git作为一个中间的中间件。去连接远程github。
2、什么是github
github是一个开源代码库以及版本控制系统。GitHub可以托管各种git库,并提供一个web界面。
gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。
二、 下载Git软件
https://git-scm.com/downloads
三、Git安装
安装就很简单了,一路下一步就可以了。全部默认。
安装完成后鼠标右击 或者 开始->程序会出现,打开Git Bash,进入bash界面。
接下来是重点,若这一步没有通过的话;秘钥没有认证完成,就不能上传文件,这个已经踩坑了,一直英语提示tell who are you ;
使用git -v
查看命令版本,即查看是否安装成功。
四、注册邮箱
-
配置用户名
,在git bash界面输入如下内容即可完成用户名,邮箱的注册(说明:双引号中需要你的用户名,这个可以随便输入,比如“fengfanli”):$ git config --global user.name "user.name"
-
配置邮箱
(说明: 双引号中需要输入你的有效邮箱,比如“897961047@qq.com”)$ git config --global user.email "yourmail@youremail.com.cn"
五、查看是否存在密钥ssh keys
1、win 系统查看
执行命令:
$ cd ~/.ssh
若出现“No such file or directory”,则表示需要创建一个ssh keys。
我的秘钥已经设置过,如下面的状态:
2、mac 系统查看
mac下 Github添加SSH keys:https://blog.csdn.net/weixin_43347550/article/details/119742921#
六、如果不存在,则创建新的ssh keys
如果没设置,就设置新的ssh keys,不然git不能上传文件。
-
生成密钥格式如下:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/your_key_name -C "your_email@example.com" # -t rsa:指定生成 RSA 密钥 # -b 4096:指定密钥长度为 4096 位。 # -f ~/.ssh/your_key_name:指定生成的私钥和公钥文件的名称,这里文件会被保存在 ~/.ssh/ 目录下,名称为 your_key_name(不包括扩展名,.ssh 会在生成时自动添加)。 # -C "your_email@example.com":提供一个注释,通常是你关联的电子邮件地址。
-
我的输入如下:
ssh-keygen -t rsa -C "897961047@qq.com"
-
流程如下:
输入命令点击回车,可以指定目录,例如:C:\deskbook\(说明:若在此处不输入路径,而直接按回车,则ssh keys生成后存放的路径为C:\User\.ssh
)
这里选择默认 直接回车 输入密码
输入密码: 123456
确认密码: 123456
完成后,在C:\User\ .ssh文件夹中生成ssh keys
。包括两个文件rd_rsa
和id_rsa.pub
下面这个图是我后来重装系统后又补的,会发现里面存的路径(密码可以不输入,一般不用,但是用处也很大)20221104记:
-
执行上述命令后,ssh-keygen 会生成两个文件:
~/.ssh/your_key_name
(私钥文件)~/.ssh/your_key_name.pub
(公钥文件)
-
通过命令查看生成的秘钥,也就是自动生成本地文件
id_rsa.pub
中的内容cat ~/.ssh/id_rsa.pub
-
填入到GitHub中的SSH的列表
然后找到rd_rsa
和id_rsa.pub
所在目录打开id_rsa.pub
(可以把后缀名改成.txt
)。
登录自己的GitHub账号,找到Settings
,
进入Settings后,点击SSH and GPG keys,然后再点击右上角添加新密钥按钮New SSH key,
然后,将
idb_rsa.pub
里的内容拷贝到Key内,Title内容随便填,一般见名知意,确定即可。
密钥添加完成,下次在使用时就不需要再添加密钥了。
七、第一次上传文件到仓库
1、首先创建Github远程仓库。
可以直接点New repository来创建,比如我创建了一个testDemo的仓库.进入仓库
复制下本仓库的链接地址,后面会用到。
2、新建 git本地仓库
我们需要先创建一个本地的版本库(其实也就是一个文件夹)。你可以直接右击新建文件夹,也可以右击打开Git bash命令行窗口通过命令来创建。
现在我通过命令行在桌面新建一个testapp文件夹(你也可以在其他任何地方创建这个文件夹),并且进入这个文件夹
这时桌面上就会出现一个文件夹,你可以将你的需要上传的文件拷贝进来
(接下来是测试)
通过命令初始化本地Git仓库
$ git init
把这个文件夹变成Git可管理的仓库
这时你会发现TEST里面多了个.git文件夹,它是Git用来跟踪和管理版本库的。如果你看不到,是因为它默认是隐藏文件,那你就需要设置一下让隐藏文件可见。
3、使用add命令 添加 到本地Git仓库
粘贴后你可以通过git status来查看你当前的状态
然后通过==git add .==把该目录下的所有文件添加到本地仓库,注意点是用空格隔开的。
在这个过程中你其实可以一直使用git status来查看你当前的状态。如果文件内有东西会出现红色的字,不是绿色,这不是错误。
然后我们通过命令
git add . # 把刚才复制过来的项目全部添加到仓库上。
这个地方稍微改了一下 ,这是单个添加到本地仓库,不推荐使用。
4、commit命令提交项目到 Git本地仓库。
使用命令。
注:“提交信息”里面换成你需要,如“first commit”
$ git commit -m "描述日志"
把项目提交到仓库。
5、链接Git本地仓库和Git远程仓库
根据创建好的Git仓库页面的提示,可以在本地testapp仓库的命令行输入:
$ git remote add origin https://github.com/fengfanli/testDemo.git
注意origin后面加的是你Github上创建好的仓库的地址,就是第1步点击复制的地址。
6、使用push命令放到Git远程仓库中
关联好之后我们就可以把本地库的所有内容推送到远程仓库(也就是Github)上了,通过命令:
$ git push -u origin master
注:此操作目的是把本地仓库push到github上面,此步骤需要你输入帐号和密码
20221108记,现在不用这个方式了,改用token代替密码push代码了,token的获取请看这个新的博文:github报错(完美解决):获取token:https://blog.csdn.net/qq_40036754/article/details/127740947
会弹出这个对话框
报了这个错误:(下面有详解)
原因:出现错误的主要原因是github中的README.md文件不在本地代码目录中)
解决:可以通过以下命令解决上面的错误【注:pull=fetch+merge】
$ git pull --rebase origin master
继续:再执行语句
$ git push -u origin master
即可完成代码上传到github
由于新建的远程仓库是空的,所以要加上-u这个参数,等远程仓库里面有了内容之后,下次再从本地库上传内容的时候只需下面这样就可以了:
$ git push origin master
上传项目的过程可能需要等一段时间,完成之后是这样的:
这时候你再重新刷新你的Github页面进入刚才新建的那个仓库里面就会发现项目已经成功上传了:
至此就完成了将本地项目上传到Github的整个过程。
7、后记
当第一次上传成功后,以后在上传时 仅使用以下命令即可
$ git ad .
$ git commit -m '提交的描述'
八、易出现的坑(bug)
另外,这里有个坑需要注意一下,就是在上面第七步创建远程仓库的时候,如果你勾选了Initialize this repository with a README(就是创建仓库的时候自动给你创建一个README文件),那么到了第十一步你将本地仓库内容推送到远程仓库的时候就会报一个to https://github.com/fengfanli/testDemo的错
这是由于你新创建的那个仓库里面的README文件不在本地仓库目录中,这时我们可以通过以下命令先将内容合并以下:
$ git pull --rebase origin master
这时你再push就能成功了。
总结:其实只需要进行下面几步就能把本地项目上传到Github
注意:如果中途弹出输入框让你填写用户名和密码,只需把GitHub的账号和密码填写上即可。
1、在本地创建一个版本库(即文件夹),通过git init把它变成Git仓库;
2、把项目复制到这个文件夹里面,再通过git add .把项目添加到仓库;
3、再通过git commit -m "注释内容"把项目提交到仓库;
4、在Github上设置好SSH密钥后,新建一个远程仓库,通过git remote add origin https://github.com/guyibang/TEST2.git将本地仓库和远程仓库进行关联;
5、最后通过git push -u origin master把本地仓库的项目推送到远程仓库(也就是Github)上;(若新建远程仓库的时候自动创建了README文件会报错,解决办法看上面)。
九、更换Git仓库地址
想更换仓库地址时,或者出现错误fatal: remote origin already exists. 时,可以使用此方法
- 1、先删除远程 Git 仓库
$ git remote rm origin
- 2、再重新添加远程 Git 仓库
$ git remote add origin https://github.com/zhibinhsu/ShowAllLabel.git
用自己的url(创建的仓库的地址,赋值地址栏里面的地址即可)