-
什么是Git?
Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。简单一点来说Git是分布式版本控制工具,分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样工作的时候,无需要联网了,因为版本库就在你自己的电脑上。多人协作只需要各自的修改推送给对方,就能互相看到对方的修改了。
-
Git在开发中的运用有哪些?
场景一:备份
你负责的模块就要完成了,就在即将之前的瞬间,电脑突然蓝屏关机,硬盘光荣牺牲,几个月来的努力付之流
场景二:代码还原
这个项目中需要个很复杂的功能,你摸索了一个星期终于有眉目了,可见这被改得面目全非的代码已经回不到从前了。什么地方能买到哆啦A梦的时光机啊?这可是程序员的后悔药!
场景三:协同开发
小刚和小强先后从文件服务器上下载了同一个文件: login. java.小刚在login.java文件中的第30行声明了一个方法Check(), 先保存到了文件服务器上;小强在login.java文件中的第50行声明了一个方法叫AddUser(),也随后保存到了文件服务器上,于是方法就都存入那个Login里面了.
场景四:追溯问题代码的编写人和编写时间
当你们项目的代码出现BUG的时候有不知道是那个写的,但是Git可以让你知道那个程序员负责那个部分的代码!
-
Git安装与配置
1.在Git的官网下载:Git (git-scm.com)
2.下载好后双击打开,然后一直Next
3.成功后电脑桌面点击右键会出现下图中以Git开头的项
注意:
- Git GUI:Git提供的图形界面工具
- Git Bash:Git提供的命令行工具
基本配置:
打开Git Bash,设置用户信息,设置配置信息
git config --global user.name “自己的用户名” 一定要注意空格!!!!
git config --global user.email “自己的邮箱”
-
Git工作流程图
工作区,暂存区和仓库之间的状态转换:
git add (工作区 --> 暂存区)
git commit (暂存区 --> 本地仓库)
-
基础操作指令
-
获取本地仓库
1.在你的盘符下面打开Git Bash然后输入
mkdir '你的本地仓库名字'
2.然后再你刚刚建立的目录下面勇Git Bash然后输入
git init
3.你执行成功上面的命令你的那个本地仓库文件夹下面会有一个.git的隐藏目录
-
命令二
查看修改的状态(status)
作用:查看修改的状态
命令形式:
git status
添加工作区到暂存区(add)
作用:添加工作区一个或多个文件的修改到暂存区
命令形式:
git add 单个文件名|.
提交暂存区到本地仓库(commit)
作用:提交暂存区内容到本地仓库的当前分支
命令形式:
git commit -m '注释内容'
版本回退
作用:版本切换
git reset --hard commitID
commitID 可以使用git-log或git log指令查看(就是查出来前面那一串字母数字)
如何查看已经删除的记录?
git reflog 这个指令可以看到已经删除的提交记录
查看提交日志(log)
作用:查看提交记录
命令形式:
git log [option]
options 是下面这些
--all 显示所有分支
--pretty=oneline 将提交信息显示为一行
--abbrev-commit 使得输出的commitId更简短
--graph 以图的形式显示
可见这个命令太长了,我们记不住怎么办,下面我们就为命令取别名
-
为常用指令配置别名
1. 打开用户目录,创建 .bashrc 文件
因为部分windows系统不允许用户创建点号开头的文件,可以打开gitBash,执行
touch ~/.bashrc
2.在 .bashrc 文件中输入如下内容:
#用于输出git提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
3.以后我们用查看提交日志就可以用这个命令了
git log或者git-log
下面我们就来练习一下
-
本地仓库保存练习
1.再本地仓库建一个文件,输入以下命令
touch test.txt
2.如果要让他起到Git的作用,我们第一步,输入以下命令,这只是放在了暂存区
git add .
3.我们最后一步输入命令放本地仓库
git commit -m 'add file'
4.我们查看状态
git status
出现下图这样就算是成功了
5.查看提交日志
git log
-
分支
-
什么是分支
分支对于团队来说作用太大了。比如说一个项目现在是1.0版,那么开发团队可能要同时进行1.1版和2.0版的开发,这样代码就会出现较大分歧。这时候就需要用到分支了,不同的任务组在不同的分支上开发,互相之间不会影响。再比如说,需要向项目中添加一个新功能,一般的团队都不会直接在主分支上修改,都会新建一个分支,在上面更改代码。这样做的好处就是保证主线代码的完整性和可用性,也就是说,主线上都是稳定的代码,可以直接拿来发布的。
-
分支的命令
查看本地分支
git branch
创建本地分支
git branch 分支名
常用:切换分支(checkout)
git checkout 分支名
创建并切换分支
git checkout -b 分支名
合并分支(merge)
一个分支上的提交可以合并到另一个分支
git merge 分支名称
删除分支
不能删除当前分支,只能删除其他分支
git branch -d 分支名 删除分支时,需要做各种检。
git branch -D 分支名 不做任何检查,强制删除。
合并分支时的解决冲突
当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解 决冲突,解决冲突步骤如下:
1.处理文件中冲突的地方
2.将解决完冲突的文件加入暂存区(add)
3.提交到仓库(commit)
-
远程仓库
-
注册一个码云的账号码云的网站
-
建一个仓库
-
用Git的Bash生成密钥
生成密钥命令
ssh-keygen -t rsa
查看密钥命令
cat ~/.ssh/id_rsa.pub
验证是否配置成功
ssh -T git@gitee.com
远程仓库的链接
git remote add orgin ssh地址
上传代码到远程仓库
git push orgin master
克隆仓库
git clone ssh地址