目录
基本操作
git config --global user.name 用户名 设置用户签名
git config --global user.email 邮箱 设置用户签名
git init 初始化本地库 可以理解为将某个文件夹交给git进行管理
git status 查看本地库状态 可以查看文件的追踪状态,当前所在分支等
git add 文件名 添加到暂存区 对修改的文件进行追踪
git commit -m "日志信息" 文件名 提交到本地库
git reflog 查看历史记录 查看版本历史纪录,当前所在版本,以及版本号等
git reset --hard 版本号 版本穿梭
分支操作
git branch 分支名 创建分支
git branch -v 查看分支
git checkout 分支名 切换分支
git merge 分支名 把指定的分支合并到当前分支上
合并冲突
冲突产生的原因:
合并分支时,两个分支对
同一个文件
有两套完全不同的修改。
Git
无法替我们决定使用哪一个。必须
人为决定
新代码内容。
特殊符号:
<<<<<<< HEAD
当前分支的代码
============
合并过来的代码
>>>>>>> hot-fix
解决冲突:
编辑有冲突的文件,删除特殊符号,决定要使用的内容,保存之后添加到暂存区,然后进行提交,此次提交不能带有文件名 例:
git commit -m "merge hot-fix"
团队内协作
第三步需要 '岳不群' 将 '令狐冲' 添加至团队,然后将邀请函发送给'令狐冲','令狐冲'同意邀请即可进行第三步push
跨团队协作
远程仓库操作
git remote -v 查看当前所有远程地址别名
git remote add 别名 远程地址 起别名
git push 别名 分支 推送本地分支上的内容到远程仓库
git clone 远程地址 将远程仓库的内容克隆到本地
克隆结果:初始化本地仓库
git pull 远程库地址别名 远程分支名 将远程仓库分支最新内容拉下来后与当前本地分支直接
合并
SSH 免密登录
可以看到远程仓库中还有一个
SSH
的地址,因此我们也可以使用
SSH
进行访问
![](https://i-blog.csdnimg.cn/blog_migrate/589275e28d1605f1d099381bcdb0081e.png)
进入家目录
前提没有.ssh文件夹,有的话删除即可,打开git bash
运行 ssh-keygen -t rsa -C xxxxxx
-t 使用哪儿个加密算法,这里使用的是rsa非对称加密
-C 注释 自定义即可
连续敲击回车三到四下看到如下情形就是ok了:
打开.ssh文件夹
打开.pub结尾的文件复制其内容然后按步骤操作:
接下来再往远程仓库 push 东西的时候使用 SSH 连接就不需要登录了。
IDEA 集成 Git
1. 配置忽略文件:
1)创建忽略规则文件
xxxx.ignore
(前缀名随便起,建议是
git.ignore
)
这个文件的存放位置原则上在哪里都可以,为了便于让~/.gitconfig
文件引用,建议也放在用户家目录下
git.ignore
文件模版内容如下:
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see
http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.classpath
.project
.settings
target
.idea
*.iml
2)在
.gitconfig
文件中引用忽略配置文件(此文件在
Windows
的家目录中)
[user]
name = xxx
email = xxx@atguigu.com
[core]
excludesfile = C:/Users/asus/git.ignore
注意:这里要使用“正斜线(
/
)”,不要使用“反斜线(
\
)”
2.定位 Git 程序:
![](https://i-blog.csdnimg.cn/blog_migrate/53038f082e4091972c8a073437b8b15a.png)
3.初始化本地库
相当于 git init
4.添加到暂存区
右键点击项目选择
Git -> Add
将项目添加到暂存区。
![](https://i-blog.csdnimg.cn/blog_migrate/767252b511291ac6dc4c36de04f4d294.png)
5.提交到本地库
6. 切换版本
在
IDEA
的左下角,点击
Version Control
,然后点击
Log
查看版本
![](https://i-blog.csdnimg.cn/blog_migrate/078085f05d6160120ae7d13fce4af85b.png)
右键选择要切换的版本,然后在菜单里点击 Checkout Revision。
7.创建分支
选择
Git
,在
Repository
里面,点击
Branches
按钮
在弹出的 Git Branches 框里,点击 New Branch 按钮。
填写分支名称,创建
hot-fix
分支。
![](https://i-blog.csdnimg.cn/blog_migrate/37b0cd93e886ad894dc3719ae50e54cc.png)
然后再
IDEA
的右下角看到
hot-fix
,说明分支创建成功,并且当前已经切换成
hot-fix
分
支
![](https://i-blog.csdnimg.cn/blog_migrate/73341bfc6e5395cf80fcd87f3d065c31.png)
8.切换分支
在 IDEA 窗口的右下角,切换到 master 分支。
然后在
IDEA
窗口的右下角看到了
master
,说明
master
分支切换成功
![](https://i-blog.csdnimg.cn/blog_migrate/1861929a249758353cd76b5b3a00a67d.png)
9.合并分支
在
IDEA
窗口的右下角,将
hot-fix
分支合并到当前
master
分支。
![](https://i-blog.csdnimg.cn/blog_migrate/ef9a6edec2fff4caa84dbc5e18f82e92.png)
如果代码没有冲突,分支直接合并成功,分支合并成功以后,代码自动提交,无需手动
提交本地库。
10.解决冲突
如图所示,如果
master
分支和
hot-fix
分支都修改了代码,在合并分支的时候就会发生
冲突。
![](https://i-blog.csdnimg.cn/blog_migrate/096854ae8184367bb1c6c459a4c82f7a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d73ae593c95d2db852b059d72bf12a30.png)
我们现在站在 master 分支上合并 hot-fix 分支,就会发生代码冲突。
点击 Conflicts 框里的 Merge 按钮,进行手动合并代码。
手动合并完代码以后,点击右下角的 Apply 按钮。
代码冲突解决,自动提交本地库 idea在集成git后可以直接commit无需添加至暂存区
11.避免出现冲突
1、在每次需要修改代码之前 先pull
2、如果遇到公共文件需要修改可以和团队成员商量怎么写