【无标题】Git学习
一、Git介绍:每天第一件事就是先pull代码,然后每天写完之后在把代码提交1.git是什么?git是目前世界上最先进得分布式版本控制工具(没有之一)。2.git有什么特点?git是一个分布式的版本控制系统,断网也可以使用,有本地的私有库,本地就可以进行版本管理。甚至可以管理文档等3.什么是版本控制工具?说白了就是帮助我们管理不同版本的文件的一个应用程序。4.git诞生2002年之前,linus自
一、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
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)