Git的使用以及疑难杂症之解决办法
开始的开始:
当我们写完一个项目之后,我们会想着将它提交到我们的gitlab(or)github上,此时就会用到git工具,那为什么用到git呢?借用一下百科的解说:git其实是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。它是为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
以上的解说可以忽略,重点看下面:
当git安装好之后,右击桌面,我们会看见出现了两个图标,分别是 Git GUI Here和Git Bash Here,那我们点击Git Bash Here,在此进行操作,当然也可以在命令窗口中进行操作。
1.首先进入到我们的项目文件中,命令为:cd 文件名
2.对其进行初始化,命令为:git init
3.将项目文件添加到暂存区,命令为:git add 文件名
4.将所有变化提交到暂存区,命令为:git add .
5.此时可以看一下暂存区的状态,命令为:git status
6.然后进行提交,命令为:git commit -m “feat: xxx”
注:以feat开头是命名规范
7.添加自己的仓库,命令为:git remote add origin 仓库地址
8.推项目,命令为:git push --set-upstream origin master
如果你足够的幸运就可以顺利的将项目推荐到自己的仓库中,但是如果出问题推不上也很正常。
疑难杂症如下:
1.手残,还未进入文件就开始初始化
解决办法:重新初始化
2.出现remote: HTTP Basic: Access denied
第一种情况:用户名密码错误,输入用户名和密码
第二种情况:多次输入用户名和密码之后依然显示拒绝,则输入ssh-****** -t rsa得到公钥证书,将得到的如下公钥放入我们的gitlab中的SSH Keys中
第三种情况:一般将**加入之后都能完美的解决这个问题,但是我在第一个项目提交之后,当进行第二个项目提交的时候,并不能解决,此时我们可以打开凭据管理器,然后打开Windows凭据,找到git对应的凭据并删掉,然后重新将如下地址在Git Bash Here中进行clone
3.无法进行push,push之后出现如下错误
这是因为产生冲突导致的,那我们可以在推项目之前先把远程repository拉下来
在push之前进行如下操作:
git pull origin master
4.在pull的时候还可能会出现以下错误:
refusing to merge unrelated histories
此时我们可以进行一下操作:
git pull origin master --allow-unrelated-histories
因为该错误是因为远程仓库已经存在了代码记录,但是却没有和本地仓库关联。
5.push完之后出现如下问题
这是因为在gitlab中设置了保护权限,对其进行修改就可以解决。
进入settings,再进入Repository
对分支的保护权限进行修改。之后再进行push。
其他问题等后续遇到继续更新(注,记得删掉隐藏的git文件)。