下载安装git
进入要被管理的文件夹,右击,进入git bash:
初始化git仓库:(建立本地仓库)
显示隐藏目录:
多出来一个隐藏文件夹:
新建一个文本文件:
查看git状态,有红色文件说明该文件没有添加到暂存区,也没有提交到本地仓库:
添加到暂存区:
再查看状态:
提交当前版本到本地仓库:
按照要求设置全局配置:
提交当前版本到本地仓库:
查看日志:
一串字符是当前版本的的唯一标识符,HEAD指针指向master,表示当前分支是master。
修改文件:
查看状态:
添加到暂存区、提交到本地仓库:
查看日志,多出来一条:
版本回退
多次修改文件,添加、提交版本:
查看日志:reflog能查看所有分支的简要日志,log只能查看当前分支的日志:
版本回退,用标识符前七位指定要回退到的版本:
回退之后还可以前进:
分支
创建新分支,切换至新分支:
在新分支下修改文件:
添加、提交版本:
新分支下创建文本文件:
添加、提交版本:
切换至原来的master分支:
查看所有分支和当前所在分支:
原来的分支下看不到迪丽热巴,因为不同分支是并行的,互不影响:
查看所有分支的日志:
分支合并、合并冲突
master分支下修改文件:
添加、提交版本:
合并分支,把dlrb分支合并到master分支:
冲突内容:合并冲突在 ZhuWenshuo.txt文件中
自动合并失败;修改冲突然后提交修改后的结果。
打开文件发现已经标记出了冲突内容:
修改后:(代码冲突只是让你知道另一个分支有其他的修改,至于保留哪一个版本或是都不保留,全看个人)
添加、提交版本:
现在合并过来了,master分支下也有了迪丽热巴:
日志显示分支合并记录:
查看的时候按q退出。
远程仓库
进入码云Gitee注册登录,点右上角+新建仓库:
填写仓库信息。
接下来生成SSH密钥。
尝试访问目录,看看有没有生成过:看样子没有:
生成SSH密钥:
查看公钥,复制:
点设置----SSH公钥----粘贴:
连接远程仓库测试:
自定义仓库名称:(因为这个url太长了,写起来不方便)
(程序员A)把项目推到远程仓库:
远程仓库上显示:
复制url:(https和ssh都行)
(程序员B)克隆项目到本地仓库:
little-sisters项目已经克隆下来了:
(程序员B)新建Shuoshuo.txt文件:
(程序员B)添加、提交版本:
(程序员B)把新版本推到远程仓库:
远程仓库显示:
(程序员A)把程序员B修改后的新版本拉下来(更新):
(程序员A)获得了新版本:
远程仓库推拉冲突
(程序员A)修改Shuoshuo文件:
(程序员A)添加、提交、推到远程仓库:
(程序员B)修改Shuoshuo文件:
(程序员B)添加、提交版本,推到远程仓库时报错,因为远程仓库有新的版本(程序员A推上去的)你没有拉下来更新:
(程序员B)你应该把新版本拉下来,修改后形成更新的版本,再推上去:
根据提示,Shuoshuo.txt文件中有代码冲突。
修改后:
(程序员B)添加、提交、推:
推上去了,远程仓库有记录:
IDEA集成Git
Settings——VersionControl——Git——指定git.exe路径(会自动找到)并测试:
创建本地仓库:VCS——Git——Create Git Depository,选择当前项目目录作本地仓库,会进行git init初始化。
填一下远程仓库的名称和url。
update commit push history
新窗口打开IDEA时也可以直接导入Gitee项目。
新建、切换分支:
dev2分支下修改代码,添加sout("我是dev2分支"):
提交:
注意:如果修改代码但是没提交,那么切换分支依然看得到,只有在某个分支提交了,才会在其他分支中看不到新的修改。
master分支下看不到dev2的修改:
master分支下添加sout:
提交:
把dev2分支合并到master:(有书签标志的是当前分支)
手动解决代码冲突:两边是两个分支,中间是最终版本
解决之后点Apply: