Git的学习以及遇到的坑

Git是什么?

它是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。git的使用也是实际开发工作中不必可少的、必须熟练掌握的技能之一
学习请继续:

  • git - 简易指南
  • 廖雪峰的git教程

git 中专有名词

Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库


Git的学习以及遇到的坑_第1张图片
image.png

1、从0使用git

在当前目录新建一个Git代码库
git init
新建一个目录,将其初始化为Git代码库
git init [project-name]
下载一个项目和它的整个代码历史
git clone [url]

2、工作中常用的命令

查看状态
git status
添加
git add .
git commit -m'xxxx'
拉取远程库中的代码
git pull
把本地的更改推到远程
git push

3、我遇到的坑

1、git 认证问题!!!!

fatal: unable to access 'https://git.***********': SSL certificate problem: unable to get local issuer certificate

Git的学习以及遇到的坑_第2张图片
err_LI.jpg

git config --global http.sslVerify false

2、git clone 时提示警告

提示warning: remote HEAD refers to nonexistent ref, unable to checkout.并且只显示.git文件

Git的学习以及遇到的坑_第3张图片
git2.png

原因是.git目录下.git/refs/heads不存在HEAD指向的文件,这个时候可以用git show-ref命令查看
获得如下打印:

f73460e266dec525ca2f9480d3b2d254ce9a1325 refs/remotes/origin/dev

......类似

继续执行命令:

git branch //输入出空

git branch -a //输出 remotes/origin/dev

git checkout remotes/origin/dev // checkout的是git branch -a输出的内容

这样通过ll命令查看,代码下载到工作目录了

接着创建分支:git checkout -b remotes/origin/dev

git branch //可以看到输出*remotes/origin/dev了,不再为空

git branch -m remotes/origin/dev master //重命名分支叫master

git show-ref命令查看也能看到head了

至此,代码都显示出来,问题得到解决。

3、关于重定向基址的解决办法
git status
git add .
git commit -m''
git pull --rebase
git push
if有冲突
git add .
git rebase --continue
git push
4、关于本地与远程不知名冲突
eg:


Git的学习以及遇到的坑_第4张图片
image.png

解决办法:

1、回滚到的冲突之前的那个版本  
git reset --hard commit_id (后面的commit_id是你要回滚的指定id)
2、 git status 可以看到本地落后远程 n 次提交
3、然后强制推送 push --force

推荐点我查看哦

Git最出色的一点是:它几乎是100%易上手误操作的。

记住以下几点会让你晚上睡得更香:

  • Git基本上不删除数据。即使是那些看起来是删除数据的操作,实际上是为了让你更快的撤销删除,而在向系统添加数据。
  • Git基本可以撤销所有操作。我鼓励你更多的实验和探索你的想法,因为这就是使用版本控制系统系统的最主要的好处之一。
  • 你团队的每一个成员都在他/她的计算机中有各自的副本。本质上这更像是整个版本控制项目中的冗余备份(包括包括整个历史纪录),你捅了大娄子而且还没办法还原这种情况是极其少见的。

你可能感兴趣的:(Git的学习以及遇到的坑)