学习视频:https://www.bilibili.com/video/BV1vy4y1s7k6?p=1
一、常用命令
- 设置用户签名
git config --global user.name 用户名
- 设置用户签名
git config --global user.email 邮箱
- 初始化本地库
git init
- 查看本地库状态
git status
- 添加到暂存区
git add 文件名
从暂存区删除
git rm --cached hello.txt
- 提交到本地库
git commit -c "日志信息" 文件名
// 报错 fatal: could not lookup commit + 日记信息
解决:提交时先输入 git commit ,之后会跳转到vim打开的一个文件里,然后在最后一行上面输入要写的日志信息就行了。
- 查看历史纪录
git reflog
- 版本窜梭
git reset --hard + 版本号
二、git分支操作
什么是分支? 在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时 候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是 一个单独的副本。(分支底层其实也是指针的引用)
![一个项目的四条分支](https://img-blog.csdnimg.cn/11fd5f138df24bcb8681755676ca0bda.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16)
1.创建分支
git branch 分支名
2.查看分支
git branch -v
3.切换分支
git checkout 分支名
4.把指定的分支合并到当前分支上
git merge 分支名
**注意:**在合并操作时会经常出现代码冲突。合并分支是,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git无法替我们决定使用哪一个。必须认为决定新代码的内容。
- 编辑有冲突的文件,删除特殊符号,决定要使用的内容
特殊符号:<<<<<<< HEAD 当前分支的代码 ======= 合并过来的代码>>>>>>> hot-fix - 添加到暂存区 (这步不要少,不然提交时会报错 error: Committing is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm ’ hint: as appropriate to mark resolution and make a commit. fatal: Exiting because of an unresolved conflict. ) - 执行提交
三、git团队协作
分为两种 : 团队内协作和跨团队协作
1.团队内协作
![在这里插入图片描述](https://img-blog.csdnimg.cn/df056461291f42f9adc4072b6e75d4ac.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16)
2.团队外协作
![在这里插入图片描述](https://img-blog.csdnimg.cn/e6311d4260e445eba61ecf229cf0bc3a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16)
五、github操作
1.创建仓库
2.远程仓库操作
1.查看当前所有远程仓库
git remote -v
2.起别名
git remote add 别名 远程地址
3.推送本地分支上的内容到远程仓库
git push 别名 分支
4.将远程仓库的内容克隆到本地
git clone 远程地址
5.将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并
git pull 远程库地址别名 远程分支别名
六、免密登录
https://blog.csdn.net/com542948180/article/details/105845044
看这位大佬的文章
七、idea中使用git
1. 配置git忽略文件
问题 1:为什么要忽略他们?
答:与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之 间的差异。
问题 2:怎么忽略?
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 = Layne email = xxxx@xxxxx.com [core] excludesfile = C:/Users/asus/git.ignore 注意:这里要使用“正斜线(/)”,不要使用“反斜线(\)”
2.定位Git程序
![在这里插入图片描述](https://img-blog.csdnimg.cn/ffb5f7e8ddbc45819f54e5fc73f5091c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16)
3.初始化本地库
![在这里插入图片描述](https://img-blog.csdnimg.cn/0122544c3f4c424f9a5bf8a54cc8d259.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_19,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/f7284be297c741ebac3c1dd95960291f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_16,color_FFFFFF,t_70,g_se,x_16)
4.添加到暂存区
右键点击项目选择Git -> Add 将项目添加到暂存区 ![在这里插入图片描述](https://img-blog.csdnimg.cn/4ac22319bde74106a0006cf3d74ff377.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16)
5.提交到本地库
![在这里插入图片描述](https://img-blog.csdnimg.cn/01fc0858953641cabf09e1b7c40ba57c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_19,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/226cb9e179bb411cb02a97b71919142f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_19,color_FFFFFF,t_70,g_se,x_16)
6.切换版本
在 IDEA的左下角,点击Version Control,然后点击 Log 查看版本
![在这里插入图片描述](https://img-blog.csdnimg.cn/07ac9408344e4b7ba9268fa563051ed8.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_19,color_FFFFFF,t_70,g_se,x_16) 右键选择要切换的版本,然后在菜单里点击Checkout Revision。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/07297cffe51646fabe67ef940e7c2f8d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_12,color_FFFFFF,t_70,g_se,x_16)
7.创建分支
![在这里插入图片描述](https://img-blog.csdnimg.cn/a426cf83cbd3411fb68643c89f4096df.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16)
8.切换分支
在 IDEA窗口的右下角,切换到master 分支。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/1e0894f158214483815fbcbdcb2d5a69.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_19,color_FFFFFF,t_70,g_se,x_16)
9.合并分支
![在这里插入图片描述](https://img-blog.csdnimg.cn/dca1ec81f93747b19bf9cf5a4c50b84f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/98502b26d92448418c877be47804bd2c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_19,color_FFFFFF,t_70,g_se,x_16)
10.解决合并冲突
![在这里插入图片描述](https://img-blog.csdnimg.cn/d7edd94c69bd462f842466407e13ffa4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_19,color_FFFFFF,t_70,g_se,x_16) 代码冲突解决,自动提交本地库。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/30a9aa6247c640ccad63997da0ba0ae4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/3a76431520904441a5f8f9221efd7e5d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16) 下面这张图片是自己的 ![这张图片是自己的](https://img-blog.csdnimg.cn/1714f2a6d13a407aa6cdbea391cf79da.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16)
第八章IDEA集成github
idea和github的链接本质上还是git和github的链接,免密登录啥的都是在git上做好的。在idea上定位了git.exe程序(自己设置[看七.2])
1.设置GitHub账号
![在这里插入图片描述](https://img-blog.csdnimg.cn/2e63e7f3fe534240bcc844a954b48a04.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/24b98b6ecdec47279d06b61cbfefeb7d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/308dc0f38d8d45eeaa6268a31e7d7440.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/2137deb434de4c9984a15eb405584dc0.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/6f648d1c6ea0453d83d764184e4583b9.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/6f262529da804c7d90e99bb2b4c69c36.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/edd5ec6236344fb0a4091a45a8188be0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_13,color_FFFFFF,t_70,g_se,x_16)
2.分享工程到github
![在这里插入图片描述](https://img-blog.csdnimg.cn/b5c7330b1bf6420e8f015acfedc34c11.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/c47e4ecbd64d4d039e103487f829818d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_14,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/2de9b1c3b0dd41aab2e0025f014fb60c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_16,color_FFFFFF,t_70,g_se,x_16)
3.push推送本地库到远程库
push前不要忘了先把自己改过的代码提交到本地库 ![在这里插入图片描述](https://img-blog.csdnimg.cn/a532271b6f3e4db59165d7d7f268c44a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/5fc0978c5b4a4c0dae7ac62c9371b446.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/b3592d35fda444458785cf2f7d34f130.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/483a9bc4f16e4a8daf52e73b1270d27f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16) 注意:push 是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致, push 的操作是会被拒绝的。也就是说,要想 push 成功,一定要保证本地库的版本要比远程 库的版本高!因此一个成熟的程序员在动手改本地代码之前,一定会先检查下远程库跟本地 代码的区别!如果本地的代码版本已经落后,切记要先 pull 拉取一下远程库的代码,将本地 代码更新到最新以后,然后再修改,提交,推送!
4.pull拉取远程库到本地库
右键点击项目,可以将远程仓库的内容 pull 到本地仓库(有两种方式,另一种实在VCS中找git) ![在这里插入图片描述](https://img-blog.csdnimg.cn/95db8a7a41bc4c2ea515b69d6c735579.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/8685ff32785c4fba877ca7ea3d2ea2d2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/521da50518b54a6f90e688fe558a5f80.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16)
注意:pull 是拉取远端仓库代码到本地,如果远程库代码和本地库代码不一致,会自动 合并,如果自动合并失败,还会涉及到手动解决冲突的问题
5.clone克隆远程库到本地
![在这里插入图片描述](https://img-blog.csdnimg.cn/ebf8eb81cc22454ca12f52a8523a2c6f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/a00bcac1c58343f6b2d7832d891cf5ea.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/70633d29ea39468da99c41ac38be95e5.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_18,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/b0b4b020901840759c631df54cd6344f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_19,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/a44a8b77e256421fa48e4e2ee42d9dcc.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/ff6c985e907b410585896ea910e4c567.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55CG5oOz5LqM5pes5LiN5q2i,size_20,color_FFFFFF,t_70,g_se,x_16)
|