一.什么是Git?
Git是目前世界上最先进的分布式版本控制系统。
二.因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。
git config --global user.name “用户名”
git config --global user.email “邮箱”
三.如何操作Git?
1.创建版本库.
(1)首先打开git bash控制台,找到一个合适的路径,创建版本库
mkdir 版本库名称
(2)进入版本库,然后对其进行初始化.
git init
(3)创建文件,并将文件放入暂存区.
git add 文件名称
(4)将文件提交给仓库(提交之前可以用git status 查看提交的文件)
git commit -m ‘说明’
(5)查看具体修改内容是什么
git diff 文件名称
2.回退版本号
(1)查看日志
git log
git log --pretty=oneline
git reflog
(2)版本回退
git reset --hard HEAD^ #回退到上一个版本
git reset --hard 版本号ID #回退到指定版本
3.创建SSH Key
(1)什么是SSH Key?
用于本地git仓库与GitHub仓库之间的加密传输
(2)创建SSH Key
ssh-keygen -t rsa -C “你的邮箱地址”
(3)登录GitHub账户,打开Account settings,找到SSH Key,点击New SSH Key
title: 随便填
Key: 将id_rsa.pub文件的内容复制到 (id_rsa.pub在用户目录下的.ssh文件内)
4.远程仓库
(1)关联远程仓库
git remote add origin 你的GitHub仓库SSH Key克隆地址
(2)将本地仓库的内容推送到远程仓库内
git push -u origin master (第一次推送加-u参数)
(3)查看远程库的信息
git remote (-v) #查看详细信息
5.克隆仓库
(1)克隆远程仓库到本地
Git clone 你的GitHub仓库SSH Key克隆地址
6.创建分支
git checkout (-b) 分支名称 # 创建分支( -b 创建并切换到该分支)
git branch (分支名称) # 查看所有分支(指定分支)
git merge 分支名称 # 将分支与当前分支进行合并
git branch -d(-D) 分支名称 # 删除指定分支(强制删除指定分支)
git log --graph --pretty=oneline --abbrev-commit #查看分支情况
git stash # 隐藏分支
git stash apply # 恢复分支工作
git stash drop/pop # 把stash内容删除
git stash list # 查看stash内容
7. rebase操作可以把本地未push的分叉提交历史整理成直线
8.标签
命令git tag 用于新建一个标签,默认为HEAD,也可以指定一个commit id;
命令git tag -a -m "blablabla…"可以指定标签信息;
命令git tag可以查看所有标签
命令git push origin 可以推送一个本地标签;
命令git push origin --tags可以推送全部未推送过的本地标签;
命令git tag -d 可以删除一个本地标签;
命令git push origin :refs/tags/可以删除一个远程标签。
9.解决冲突文件的方法:
方法一(推荐使用):
git pull 出现冲突后丢弃本地冲突文件修改,采用远程文件覆盖本地文件
git checkout [文件路径]
例:git checkout test/src/main/resources/spring-shiro.xml
方法二:
git pull 出现冲突后可以暂存本地修改
git stash 恢复
git pull 更新代码
git stash list 可查看暂存记录列表,释放本地暂存
git stash apply stash@{0} ,出现冲突文件,找到并解决,然后可以提交
git add . 加入索引库,然后本地提交
git commit -m ‘注释’ 最后
git push到远程
方法三:
1.git pull
更新代码,发现
error: Your local changes to the following files would be overwritten by merge:pom.xml
Please commit your changes or stash them before you merge.
这说明你的pom.xml与远程有冲突,你需要先提交本地的修改然后更新。
2.git add pom.xml
git commit -m ‘冲突解决’
提交本地的pom.xml文件,不进行推送远程
3.git pull
更新代码
Auto-merging pom.xml
CONFLICT (content): Merge conflict in pom.xml
Automatic merge failed; fix conflicts and then commit the result.
更新后你的本地分支上会出现 (develop|MERGING)类似这种标志
4.找到你本地的pom.xml文件,并打开
你会在文件中发现<<<<<<< HEAD ,======= ,>>>>>>> ae9a0f6b7e42fda2ce9b14a21a7a03cfc5344d61
这种标记,<<<<<<< HEAD和=======中间的是你自己的代码, ======= 和>>>>>>>中间的是其他人修改的代码
自己确定保留那一部分代码,最后删除<<<<<<< HEAD ,======= ,>>>>>>>这种标志
5.git add pom.xml
git commit -m ‘冲突解决结束’
再次将本地的pom.xml文件提交
6.git push
将解决冲突后的文件推送到远程