Git 学会git,探索GitHub,掌握新知识

Posted IT_Holmes

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git 学会git,探索GitHub,掌握新知识 相关的知识,希望对你有一定的参考价值。

1.分支管理

分支就是在版本控制的过程中,同时进行多个任务的推进。

一般最开始都是master项目,并且并行创建分支,来研发项目。

执行git status命令时,就有On branch master,意思就是在master这个分支上面。

2.分支命令

2.1 git branch

2.1.1 git branch 创建

使用git branch来创建分支

2.1.2 git branch -v 查看

使用 -v 参数来显示查看所有分支。

2.2 git checkout [branch_name] 切换

使用git checkout [branch_name]命令来进行切换分支。

2.3 git merge [branch_name] 合并

1.切换到接受修改的分支上面。
2.执行git merge [branch_name]命令即可。

2.4 分支冲突

因为在同一个文件,同一行数据可能不同,那就导致了究竟选择哪一个分支的数据呢?这就是分支冲突。

一般出现(master|MERGING),表示正在合并中。

在发生冲突情况下,分支合并后,会出现像下面代码一样的情况,这就时自己要决定的内容,HEAD指的是当前分支。
在这里插入图片描述
最后自己修改代码,解决冲突时,最好执行git add和git commit 来对修改的文件上传提交一下,这样就解决了merge合并冲突的问题了。

注意:提交的时候commit不能有文件名,否则会提交失败。
在这里插入图片描述

3.哈希算法

哈希是一个系列的加密算法,虽然有很多不同的哈希算法,但都遵循下面的几个共同点:

在这里插入图片描述
哈希算法是用来 比对和验证文件是否变化,不一样,对于git而言很重要。

在这里插入图片描述
这里可以使用Hash软件的校验工具可以计算文件的 MD5、SHA1、CRC32 的值,来操作校验。

4.git版本管理机制

git采用的是快照流来对每个版本文件进行存储和管理,每一个快照忽悠一个parent指针指向父对象。

在这里插入图片描述

5.git分支管理机制

和版本管理一样也是通过HEAD指针来切换分支什么的。

6.github

6.1 git remote 远程

使用git remote来操控远程库。

6.1.1 git remote -v

-v 参数显示所有的远程库。

6.1.2 git remote add [别名] 远程库url地址

给远程库添加一个别名,方便推送和获得。

6.1.3 git push [别名] [branch_name]

例如:git push origin master
这里需要输入用户和密码,来验证!!

6.1.4 使用 + 号强制push

强制push,就是在分支前面加上 + 号。
例如:

git push origin +master

6.2 git clone 克隆

6.2.1 git clone [远程库URL]

使用git clone [远程库URL]克隆很重要!

可以可以帮我们完成三个步骤:

1.完整的远程库下载到本地中。
2.将下载下来的文件,自动初始化本地库
3.创建该远程地址的别名(origin)。

7.github其他账户来操作自己仓库的项目

在执行git push origin master来验证输入密码时,让别的用户来操作,就需要在github项目中添加团队合作人。

在项目setting ==》Manage access ==》Invite a collaborator来邀请一个github账户,从而共同开发项目。

注意:有时win10可能会记住密码,这是因为win10有一个Windows凭据的功能,如下:

在这里插入图片描述

8. git pull 抓取和合并

fetch(抓取)和merge(合并)方法加起来就是pull。

fetch抓取只是将远程的数据抓取到了本地库中,工作区并没有修改合并,想要合并在使用merge代码就可以了。

比如,我们抓取和合并远程origin的例子:

git fetch origin master (抓取远程origin上的master分支。)
git checkout origin/master (切换本地库的origin的master查看是否抓取到。)
git merge origin/master(合并本地库的origin上的master分支。)

而:pull = fetch + merge

这里什么时候使用fetch,merge;什么时候使用pull要根据实际情况来。

以上是关于Git 学会git,探索GitHub,掌握新知识 的主要内容,如果未能解决你的问题,请参考以下文章

Git 学会git,探索GitHub,掌握新知识 完

git 打卡的第一天

Github操作与git分支管理

《学会教学》——讲授教学模式

更快速的学习掌握新知识

github上传代码