玩转Git

想把自己的一些实战项目存放起来,很早就接触Github,但是由于是外网,访问起来确实比较慢,况且网上说GitHub的私库要付费,于是还是想存到码云上吧,毕竟也图个方便。此篇仅限小白,大佬绕行。

1、属于你的ssh

和github一样,如果我们只是单纯的从上面clone代码,并不需要ssh配对。但是我们是为了将项目代码提交到上面,所以还是需要ssh key的配对,操作和github配对方法是一样的。

首先检测ssh,一般我们把git安装后都是安装了ssh的,我们可以通过git查看, 随便找个地方,鼠标右键选择git bash here,进去git界面后输入 ssh,如果出现如图所示的情况,则说明ssh已经安装。

其次把ssh导入出来,同样随便找个地方,输入ssh-keygen -t rsa, 然后回车,注意看回车后里面提示的,比如看我的,如图

第一个回车告诉我们这个key会保存的地址,这个地址要记住等下还要找到文件在哪里的,然后在按回车,告诉我这文件已经存在,问我要不要覆盖,如果你们以前在github上配置了的,这里情况应该和我一样的,我就不再按了,你们如果不再还要在按次回车或者两次,根据实际情况定。然后可以看到我们生成的文件,如图:

这个id_rsa是私钥,我们放在这里自己用的,这个id_rsa.pub是要把它打开,用记事本就可以打开的呢。

之后配置公钥到码云上。登陆码云打开个人中心找到配置ssh的地方,如图:

将id_rsa.pub里的内容copy进公钥即可。

最后验证ssh,因为不验证有时候会出问题,所以为了保证,我们还是需要验证下,同样随便找个地方,进入后输入ssh -T git@git.oschina.net , 会提示你这个链接的码云不确定,问我们要不要急需链接,我们输入 yes ,然后提示你 welcome ,则表示我们成功。如图

2、创建你的仓库

码云上新建仓库这个没什么好说的

跟着流程走就可以了,我选择了公开,当然这里私有不会收取任何费用,小建议:这里不要勾选建立.md,要不后面会很麻烦,具体解决我会在后面提到。

3、提交你的本地代码

选择该项目的文件夹Git Bush here

第一步git init

命令把这个项目变成一个Git可以管理的仓库。之后我们可以发现项目下多了一个.git文件目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

第二步git add .

命令告诉Git,把项目下的文件添加到仓库。没有任何的反应,没有任何反应才是成功的标志。为什么add后面是个.呢,.的意思是将项目下的所有文件都添加到仓库中,我们也可以单独添加一个文件,直接在add后面写上单独的文件名就可以了,当然我们也可以add多次。

第三步git commit

命令告诉Git,把文件提交到仓库。-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

嫌麻烦不想输入-m "xxx"行不行?确实有办法可以这么干,但是强烈不建议你这么干,因为输入说明对自己对别人阅读都很重要。

git commit命令执行成功后会告诉你,1 file changed:1个文件被改动(我们新添加的readme.txt文件);1 insertions:插入了1行内容(test.txt有两行内容)。

如果出现以下内容则需要输入自己的账号和邮箱,当然我已经不用输入这些了,所以这张图是我网上找来的。

img

按照上面给的代码输入naneemail后再次执行git commit -m "xxx"命令。

第四步git remote add origin 自己仓库地址

将本地仓库关联到码云上,然后输入git push -u origin master将代码上传到码云上。会蹦出一个输入用户名和密码的文本框,最好一次输入正确,不然就看看我下面的解决办法呀~

大功告成!

其实,GitHub上的步骤也是一样的,但我就是有些受不了访问速度。

4、更新项目

当以后需要更新项目的时候有四步需要走:

第一步:执行git pull命令将码云/Github上的代码当下来合并代码,防止提交新代码的时候起冲突
第二步:执行git add命令将代码添加到仓库
第三步:执行git commit命令将代码提交到仓库
第四步:执行git push命令将代码提交到码云/Github

5、你可能会遇到的问题

①git提示“warning: LF will be replaced by CRLF”

多出现在 git add .的时候

Git 可以在你提交时自动地把回车(CR)和换行(LF)转换成换行(LF),而在检出代码时把换行(LF)转换成回车(CR)和换行(LF)。 你可以用git config --global core.autocrlf true 来打开此项功能。 如果是在 Windows 系统上,把它设置成 true,这样在检出代码时,换行会被转换成回车和换行

#提交时转换为LF,检出时转换为CRLF
$ git config --global core.autocrlf true

其他操作系统详解:https://www.jianshu.com/p/450cd21b36a4


②git报错:'fatal:remote origin already exists'怎么处理?

这个问题的意思大概是:远程连接已经存在

只要两步:

1、先删除

$ git remote rm origin

2、再次执行添加就可以了。


③Git-remote Incorrect username or password ( access token )

这个问题的意思大概是:用户名或密码不正确(访问令牌)

我造成这种错误的原因是,创建时输错了密码,这时需要修改计算机的凭据来解决。找的自己正确的用户名和密码即可。


④git push origin master出错:error: failed to push some refs to

这个问题的意思大概是:本地没有update到最新版本的项目(git上有README.md文件没下载下来)

来自:https://stackoverflow.com/questions/24114676/git-error-failed-to-push-some-refs-to

这就是为什么建议大家不要创建.md文件了。

执行这个即可:

$ git pull --rebase origin master

在执行便可完成第一次上传:

$ git push origin master

还有问题建议去看一下:

https://www.liaoxuefeng.com/wiki/896043488029600 廖雪峰的Git教程

https://stackoverflow.com/ 你想不到的这都有

posted @ 2020-03-24 14:51  我在吃大西瓜呢  阅读(243)  评论(0编辑  收藏  举报