一、Git介绍:

每天第一件事就是先pull代码,然后每天写完之后在把代码提交

1.git是什么?

git是目前世界上最先进得分布式版本控制工具(没有之一)。

2.git有什么特点?

git是一个分布式的版本控制系统,断网也可以使用,有本地的私有库,本地就可以进行版本管理。甚至可以管理文档等

3.什么是版本控制工具?

说白了就是帮助我们管理不同版本的文件的一个应用程序。

4.git诞生

2002年之前,linus自己手动维护linux的版本代码

2002年之后到2005年,使用的免费的bitkeeper

2005年之后,linus开发git

5.集中型版本控制工具和分布式版本控制工具

集中型的版本控制工具

svn,cvs,vss

特点:

1.实现大部分开发中对版本管理需求

2.结构简单,上手容易

特点:

1.对中央仓库依赖严重,一旦损坏了,历史数据怎么恢复?

2.程序员上传的都是完整版,如何追溯查询

3.系统正在上线运行,需要修改bug或增加几个不同的功能

4.如何管理一个分布在世界上各地且互不相识的大型开发团队

6.git作用:

1.协同开发

2.版本记录

3.冲突解决

4.历史追查

5.代码备份

6.版本还原

7.权限管理

8.分支管理

9.代码审查

7.git安装:

最早git是在Linux上开发,很长一段时间,git只能在linux和unix上运行。不过后来有人把他移植到windows平台。现在git可以在linux,unix,mac os和Windows几个主流平台运行。

8.配置git签名:

第一步:

选中你要作为git工程存放的目录,然后点击鼠标右键选择git bash即可

git是分布式版本控制工具,所以需要填写邮件名和邮箱作为一个标志。

git config --global user.name "xxxx"

git config --global user.email "xxxx"

9.创建版本库:

第一步:选中一个git工程的目录

第二步:输入命令初始化版本库

git init

10.git命令行操作

查看文件状态:

git status

将文件/目录添加到临时暂存区

git add 文件名/目录名

git add aa/Test.java

以上通过git add 命令的文件会提交到暂存区中,但不会真正提交,需要使用git commit才能完成提交到统一的版本文件

提交文件(git commit):

git commit

git commit -m "提交提示信息"

每当有文件被修改、添加,删除的时候,都需要重新git add,然后再git commit

11.查看日志:

git log 查看历史记录

git log --pretty=oneline

12.回退历史:

回退到上一次提交

git reset --hard HEAD^1

HEAD是一个指针,永远指向最新版本,^1表示让HEAD指针指向上一个版本

--hard 硬:这种回顾不但将版本回顾,还会将指定的数据抹除。不会保留任何你的修改的记录

--soft 软:回退版本,也会保留改动的记录。会自动帮你git add.

--mix 折中:回退版本,并会保留所有改动记录。但是不会自动帮你git add

git reset : 修改HEAD的位置

这种方式可以恢复到之前某个提交的版本,但是恢复之后,当前版本之后的版本将不复存在。

回退到多个版本:

git reset --hard HEAD~2 意思是回退2个版本

版本穿越:

git reflog #查看历史记录的版本号

还原文件:

git checkout 文件名 #还原文件

首先编辑这个文件 vi src/b.txt

然后添加进暂存区 git add 文件名/文件目录

最后提交 git commit -m "标识"

删除文件:

1.先删除文件

2.git add

3.git commit

不是真删,只是会把它先保存到暂存区

工作区,暂存区,本地库

概念

工作区(working Directory):电脑的本地磁盘目录

本地库(Repostory) : 工作区中有一个隐藏目录.git,它就是git的本地版本库

暂存区(stage):一般存储在git目录下的index文件,所以我们把暂存区有时候也叫作索引。

主分支与分支之间可以来回切换,并且文件也会相应改变

合并分支:(将其他分支合并到主分支:master)

1.切换到主分支

git checkout master

2.合并

git merge 分支名

冲突

什么是冲突

冲突一般是指同一个文件同一位置的代码,再两种版本的仓库合并时,版本的管理软件无法判断到底应该保留哪一个版本,因此会提示该文件发生冲突,冲突一般都需要程序员手动解决

在分支合并的时候解决冲突

1.先在master分支上创建一个gg.txt

2.再在common分支上创建一个gg.txt

3.分别提交

4.最后合并

查看冲突:

git diff

解决冲突:

切换到那个目录的文件中,查看那个文件

重新add和commit

拉取远程代码:git clone http://xxxxxx.git

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐