git 学习
1、git的配置查看
git config --global --list git config -l
2、git 有四个工作区域
工作目录、暂存区、本地git仓库、远程git仓库 工作目录:就是你平时存放项目代码的地方 暂存区:用于临时存放你的改动,事实上它只是一个文件,保存即将提交到的文件列表信息。 本地仓库:就是安全存放数据的位置,这里面有你提交到所有版本的信息,其中HEAD 指向最新放入 仓库的版本 远程仓库:托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换。
3、创建本地仓库的两个方式
1、git init 比如本地已经有代码工程了,需要放到git上,可以在项目的根目录执行git init,然后在git上创建一个仓库 然后 git add . git commit -m "xxx" git remote add origin https://gitee.com/gaoheqiang/anotion-springmvc.git给本地添加一个远程 origin这个是随便起的 git push -u origin master 这里的origin 和上面的值要对应。 2、git clone [url]
3.1 本地代码修改迁移到别的Git仓库
git config --global user.name zhangsan git config --global user.email "1359675322@qq.com" git remote rm origin #origin 旧的仓库远程名字 git remote add origin http://192.168.1.7:8090/it_hm/ssm.git #注意这里一定要带端口啊 git add . git commit -m "message" git push -u origin master
4、git 常见的几个命令
git status 查看文件的状态 git add . 添加所有文件到暂存区 git commit -m "" 把暂存区的文件保存到本地仓库 git push git branch 看当前工作区在那个分支上
git branch -a 查看所有的分支
git checkout git checkout 想要的分支名 git rm 用来删除已经跟踪了的文件的 1、比如说我们之前push的文件push错了,可以使用git rm 的方式来删除 git rm -r 是递归删除某个文件。 删除完了需要 git commit -m ""; git push 这样呢本地工作区就和远程仓库代码一样了。 2、使用git rm 把工作区的文件删除后,突然后悔了,此时还没有提交 需要使用 git restore --staged Test3.java git restore Test3.java就可以在本地工作区看到刚才删除的代码了。 特别注意啊;如果你修改了文件,但是没有提交,那么使用git rm 是删除不了的,如果要删除需要使用 -f的命令 git diff 查看文件修改前后有什么区别,没有什么用处,用idea里面的工具就行,更方便.idea里面的右边是最新的,同时对比远程仓库哪里修改了也会有提示的 对比仓库和本地目录的区别。 1、compare with the same repository version 与当前文件同版本号的资源比较,其他人修改了此文件并在你之前提交了代码,是不与比较; 2、compare with latest repository version与最新版本的资源比较,则比较的文件包含其他人在你之前提交的代码; git restore --staged <文件> 就是把文件从暂存区恢复到本地工作目录,不能从本地仓库回退到暂存区,放到本地仓库的只能push了或者reset了。 一般删除了某个文件的时候用他。 操作的是本地仓库 git reset --hard HEAD 把指针指到某个提交的版本哪里,原来的提交的记录就不显示了,会重置暂存区和本地工作目录 比如说上一次修改了Test3.java 然后执行了commit 命令。 现在又修改了Test3.java 然后执行了commit 命令,但是发现写的代码不对,需要回滚到 第一次修改的Test3.java 哪里。 那就执行 git reset --hard HEAD^ 命令就行,然后继续的开发 git merge 命令:git merge origin/dev 意思是把origin/dev 合并到当前分支 出现冲突的的时候有几个标志如下 <<<<<<< HEAD ======= 这两个标志之间的内容为显示当前分支文件的内容 ======= >>>>>>> origin/dev 这两个标志之间的部分是origin/dev 里面的内容 解决冲突的办法就是 手动的删除冲突的部分,然后 git add . git commit git push 这个命令也是操作的本地仓库,先使用git pull 把远程仓库的所有分支的最新拉取到本地仓库,然后git merge. 如果origin/dev 修改了了文件后,push到仓库了,但是master分支上没有使用git pull,直接使用gitmerge
5、忽略文件
在项目的根目录下创建.gitignore 文件,里面写一些要忽略的内容,这样忽略的内容就不会提交到git远程仓库上了
logs/ logs文件忽略 sers/ sers 文件忽略 user-service-provider/target/ target 文件忽略 user-service-provider/sers user-service-facade/target user-service-provider/*.tar .idea/ idea 的配置忽略 *.iml .iml结尾的文件忽略
6、git 分支图谱学习
参考 https://blog.csdn.net/ywb201314/article/details/105252370/
如上图所示,有两个分支dev和master
6.1 sourceTree 切换分支
默认每次切换分支,定位在每个分支的最新的一次提交的地方
6.2 不同的分支中实心圆点、空心大圆点代表什么意思
- 代表的是每个分支的push 的事件 或者merge等的事件。
- 空心圆点意思是代码在当前的分支上的某个事件上
这里表示我代码在master 分支上的最新的一个提交版本上。
6.3 红线从蓝线出来代表什么意思,为什么之前没有红线
意思是从这里第一次创建 红线代表的dev分支,之前就一个master分支
6.4 蓝线和红线连接起来是什么意思
代表有进行分支的合并,从图上的message信息就可以看到。
6.4 分支中突然断了是什么意思
意思是这个分支ac8c929 最后一次提交后就没有人操作了