idea特定文件和maven工程的target目录等文件与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽IDE工具之间的差异。
可以创建忽略规则文件xxxx.ignore(前缀随便起,建议是git.ignore)
这个文件的存放位置原则上在哪里都可以,为了便于让~/.gitconfig文件引用,建议也放在用户家目录下。
git.ignore文件模板内容如下:
# compiled class file
*.class
# log file
*.log
# blueJ files
.ctxt
在.gitconfig文件中引用忽略配置文件(此文件在Windows的家目录中)
[user]
name = xxx
email = xxx@xxx.com
[core]
excludesfile = C:/Users/xxx/git.ignore
选择项目根目录后点击ok。
可以看到文件颜色变红,代表此文件未被追踪(未添加到暂存区)。
add后文件变绿,代表已经添加到暂存区,还未被提交到本地库。
可以将整个项目添加到暂存区,根据需要选择是否将忽略文件添加。
之后可以提交到本地库。
提交后文件颜色恢复正常。
修改代码。
可以发现文件变为蓝色。
继续将其添加到暂存区,提交到本地库。
通过idea可以看到项目代码的不同版本:
可以看出head指针指向当前版本。
点击checkout 。。。切换版本:
首先切换到hot-fix分支,修改代码。
然后commit代码。
切换到master分支。
点击merge into current实现分支合并。
修改hot-fix分支代码,并提交。
修改master分支代码,并提交。
对于两个都修改的分支,必然会发生合并冲突。
点击合并,发生冲突:
X表示不要这行代码,箭头>>表示采纳这行代码。
点击apply实现合并,解决冲突。
这种方式网络太差不容易成功。
另一种登录方式,点击use token。
在GitHub中生成token:
他在
点击developer settings
点击Personal access tokens
点击Generate new token
将口令权限全部选择,点击generate token
将口令复制到idea,即可登录
修改代码,提交本地库。
这里使用HTTPS协议push,推荐使用SSH。
点击Define Remote,将项目的SSH链接复制过来。
注意:push是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致,push的操作是会被拒绝的。也就是说,想要push成功,一定要保证本地库的版本要比远程库的版本高。因此在动手改本地代码之前,一定要检查下远程库跟本地代码的区别。如果本地库代码版本已经落后,切记要先pull拉取一下远程库的代码,将本地代码更新到最新以后,然后再修改,提交,推送。
在GitHub网页端修改并提交代码。
pull是拉取远端仓库代码到本地,如果远程代码和本地库代码不一致,会自动合并,如果自动合并失败,还会涉及到手动解决冲突的问题。
点击get from version control