一、git简介
为什么使用git
git主要是管理代码
1、版本回溯
2、版本切换
git版本库
主干
分支A——组员A使用
分支B——组员B使用
分支C——组员C使用
3、多人协作
git远程版本库
贡献和拉取
A B C
4、远程备份
github远程版本库
push pull
git本地版本库1 git本地版本库2 git本地版本库3
二、git环境搭建:
1、操作系统上已经有git,但是版本过旧
Git update-git-for-windows
2、没有安装过git
检验安装:git --version
git安装文档: Git安装_Dongguo丶的博客-CSDN博客_git安装
点击运行
安装成功了
3、设置用户名邮箱密码
方便后面提交代码,邮箱要和github保持统一
git config --global user.name hxy
git config --global user.phone 123456
git config --global user.email "**********@qq.com"
检查用户名是否设置成功:
git config --list
注意事项:git和github邮箱保持一致
三、git定义:
git是目前世界上最先进的分布式版本控制
工作原理/流程:
四、git的使用
1、创建版本库:
1、1先创建文件
1、2右击文件,输入命令 git init
1、3效果:作为版本库的文件里面会自动生成一个.git文件,表示版本库创建成功
2、把文件添加到版本库中:
2、1在版本库中建文件
2、2将文件添加到暂存区 git add wenjian.txt
2、3提交远程库git commit -m "wenjian.txt已经提交"
git status查看暂存区文件(没有提交的文件)
3、如何把修改后的文件添加到版本库
3、1修改文件并保存
3、2git status 修改了的文件在暂存区,但是是红色,意思是文件已经修改了让add文件
modified修改了的文件
3、3git diff wenjian.txt 查看文件修改了什么内容
3、4将修改了的添加到暂存区
git add wenjian.txt,红色文件就变成了绿色
绿色表示添加成功
3、5将修改了的文件提交到本地版本库
git commit -m "备注信息:文件修改内容"
暂存区就没有要提交的文件了
4、如何查看历史记录、版本回退、版本回退恢复原来的版本
4、1修改文件并保存
4、2添加暂存区,提交本地版本库中
4、3查看日志信息 git log
查看简单的日志信息 git log --pretty=oneline
4、4版本回退
git reset --hard HEAD^ 回退到上一个版本
git reset --hard HEAD^^回退到上两个版本
git reset --hard HEAD ~100 回退到上100个版本
回退到固定的版本号:
git reset --hard 4b77f511a1b77660619a8dec46a530a4bfad194
注意事项:右击copy paste
5、如果命令窗口没有这个版本信息
那么怎么去获取这个版本信息 git reflog
前面的是版本号,可以通过版本号回退到具体的版本
工作区与暂缓区有什么区别:
工作区
git add . 同时添加所有文件 暂缓区
git commit -m"备注"本地版本库
6、git撤销修改
增加了有问题的内容,有两种方法解决
1、直接删掉,然后add commit
2、回退到上一个版本
6、1只是做了修改还没有添加到暂存区 git status
红色 wenjian.txt
git restore -- wenjian.txt
6、2已经添加到了暂存区git status绿色 wenjian.txt
git restore -- wenjian.txt
会将添加到暂存区以后做的修改撤销掉
6、3git已经add commit的文件被手动删除
1、永久删除文件
git status 会提示文件已经被删除了
git commit 直接提交,该文件就被永久删除了
2、撤销删除,文件恢复
git restore -- wenjian.txt
五、git结合github的使用
1、远程仓库连接github
1、1注册github账号
邮箱要保持一致
1、2window下配置SSH连接github,github ssh.key.由于你的本地git仓库和github仓库之间的传输是通过ssh加密的,所以需要设置:
C:\Users\mihxy在当前用户下找.ssh
初次安装git是没有的
(1)创建ssh key。 dos命令
ssh-keygen -t rsa -C "[email protected]"
(2)github配置
(3)创建仓库
命令:
或者在命令行上创建一个新的存储库
echo "#banbenku" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/Lynn1234567/banbenku.git
git push -你原产地主要或从命令行推送现有存储库
git remote add origin https://github.com/Lynn1234567/banbenku.git
git branch -M main
git push -u origin main
(4)关联github
git remote add origin https://github.com/Lynn1234567/banbenku.git
(5)将主分支提交到远程库
2、假如远程库有新的内容,如何将远程库的内容克隆到本地
2、1关联
git remote add origin https://github.com/Lynn1234567/banbenku.git
2、2克隆
git clone https://github.com/Lynn1234567/banbenku.git
3、分支
3、1创建分支
master主分支
git checkout -b dev 创建并切换dev分支
git branch查看所有分支
git branch dev创建dev分支
git checkout master切换到主分支
cat wenjian.txt 查看文件里面的内容
分支的含义就是两个环境,环境下的文件内容可以不相同
3、2合并分支
git merge dev 将dev分支下修改的内容合并到master中
含义:合并dev分支到当前分支
3、3删除分支
git branch -d dev 删除dev分支
3、4合并分支产生冲突:
手动修改文件中冲突的部分
4、分支管理
一般来说,删除分支会丢掉分支信息,而我们不想丢掉分支信息
创建dev分支:
修改wenjian.txt内容
添加到暂存区,提交到版本库git add . + git commit -m ""
切换到主分支(master)git checkout master
合并dev分支同时禁用fast forward
使用git merge -no ff -m "注释" dev
Git branch -d dev 删除dev分支,dev分支记录在电脑中还存在
查看历史记录
可以通过版本号将删除的dev分支找回来
5、Bug分支
多人协作会遇到的问题
在分支上进行临时Bug修改
git stash 将当前fenzhi1隐藏起来
将当前的工作线程隐藏起来
切换到主分支,创建临时修改缺陷分支2
分支2修改完成添加提交 add commit
切换到主分支合并
切换到分支1
git stash list找到隐藏的工作区
git stash pop恢复之前隐藏的工作状态
6、github删除项目
setting拉到最下面,delete
六、git与svn最主要的区别:
svn是集中式版本控制系统,版本库实际中放在中央服务器的(需要联网)
git是分布式版本控制系统,那么它就没有中央服务器的(不需要联网)