唐僧喜欢小龙女

导航

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 最后一次提交后就没有人操作了

 

 

  

 

posted on 2021-10-31 17:34  与时具进&不忘初心  阅读(55)  评论(0编辑  收藏  举报