1.简单的git命令
使用git命令进行操作,可以通过图形化界面,也可以命令行来操作,在idea上集成了命令行窗口
![](https://img-blog.csdn.net/20170111165408602?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdrYTAwMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
git checkout –b dev 创建dev分支 并切换到dev分支上
git branch -a 查看当前所有的分支,这个包含本地分支还有fetch下来的远程服务器上的分支,其中黑色字体是本地的分支,而红色字体为远程服务器的分支
![](https://img-blog.csdn.net/20170111165255101?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdrYTAwMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
git checkout master 切换回master分支
git merge dev 在当前的分支上合并dev分支,也可通过idea上的图形化界面操作,git--> repository-->mergeChanges
git branch –d dev 删除dev分支
git branch name 创建分支
在操作的git时候,先通过git status查看文件的状态,然后git add . 将所有修改的文件全部放到暂存区,再通过git commit 再将暂存区的数据提交本地库,最后通过git push将本地库中的代码推到远程服务器上,当然在最后一步的时候我一般用idea的图形化界面操作,会提示你merge代码和代码冲突情况。
git status 查看修改文件的状态
git add . / git add -A 将修改的文件全部放到本地暂存区
git commit -m "提交修改的信息说明" 完成了首次提交
git push 将本地分支推到远程分支
git diff,查看内容不同。在git status中只能查看这个文件有没有问题。并不能看到具体的内容。
git diff HEAD -- a.txt
退一步,git reset --hard HEAD^,指针回退一步;
退多步V1,git reset --hard HEAD^^^^^^^^^^,多个箭号
退多步V2,git reset --hard HEAD~数字步数
穿梭穿越,git reflog获得头7位版本号,然后
git reset --hard 7位版本号 .这里没有 HEAD 单词
应用场景
当我将dev分支的代码拉到本地,然后在本地的dev分支上在拉一个分支dev-yy。
我在dev分支需改代码,添加"11111",然后切换到dev-yy分支,将dev分支与dev-yy分支合并,这个时候,
dev-yy也会有有"11111"代码,之后感觉dev的代码有问题,想回到原来版本的dev-yy,撤销这个合并
步骤:
①git reflog dev-yy 将会获取到合并前的版本号前7位
②git reset --hard + 获取7位版本号,进行版本穿梭就可以了
2.实践应用
①一般到公司,我们是先将公司服务器上的代码拉到本地的,这个时候先将git和公司远程服务器连接在一起通过邮箱,这个步骤在网上有很多。
②连接上之后,我们需要将远程分支上的代码拉到本地,这个时候需要创建一个本地分支,注意在本地创建的分支名称要和远程服务器上分支名一样,例如远程服务器上的为dev,在本地你也要创建dev的分支,然后将通过git pull命令将远程dev的代码拉到本地dev上,这个可以通过idea的图形化界面来做,在idea的右下角,点击之后会显示所有的远程分支,选择dev,之后会有checkout new branch,创建一个和远程服务器上分支名一样的分支,就可以了,然后在git pull 就行
③当我们将远程服务器上的分支拉到本地之后dev,我们实际上还是不能在这个分支上进行开发,我们要在再本地的dev分支上拉一个自己的分支来进行开发,我师父说,最好一个需求一个分支,所以我们在本地dev分支的基础上创建一个新分支dev-xxx,我们可以在这个分支下开发
④当我们开发完之后,需要将自己分支dev-xxx上的代码上传到远程端,那该怎么做呢?首先我们先将dev-xxx上的代码与本地dev上的代码merge一下,然后切换到dev分支,在本地dev分支上push 到远程dev分支就行了。
⑤其他情况:我们在dev-xxx分支上可以直接push到远程服务器端,这样不会和远程端dev上的代码进行合并,而且会在远程端创建一个dev-zrb的远程端分支。这样的好处就是,如果你和小伙伴在一起开发一个功能模块,这样既可以避免将没有开发完的代码推到发布分支dev上,同伴也可以将远程端你没有开发完的代码拉到本地,进行继续开发。
3.在idea上查看git分支的合并情况
其中version Control 是版本控制平台
①显示当前分支
②显示谁提交了代码
③显示版本提交日志
④显示每一次代码提交的具体文件,可以通过这些文件查看在这次提交到底修改了那些代码。