简介
本文介绍Idea中git的用法。包括:Idea的配置、下载/上传项目、取消/回退、遴选。
Idea配置
1.将git.exe加入环境变量
注意不是git-bash.exe。git.exe在git安装路径的bin目录下
2.配置Idea的git路径
File=> Settings=> Version Control=> Git=> Path to Git executable=>
选择git.exe位置(例如:D:\Program Files\Git\bin\git.exe)=> 点击右侧"Test" 若弹出窗口“Git Version is xxx”则成功
项目下载/上传
Idea从git导入项目
File=> New=> Project from Version Control=> git=> 输入git远程仓库url和本地路径=> Clone
或者:Git=> Clone=> “Version control” 选择“git”=> 输入git远程仓库url和本地路径=> Clone
Idea上传本地新项目
- VCS=> Import into Version Control=> Create Into Version Repository=> 指定文件夹=> 确定(相当于git init命令) 结果如下
- 所有文件变为红色(表示不受git控制(未使用过git add))
- File=> Settings=> Version Control=> Directories 此处产生我们指定的路径
- 指定的路径下产生了.git文件夹
- 选中项目=> 右键=> Git=> Add (或者ctrl+shift+a)
- 结果:所有文件变为绿色(表示受git控制)
- 选中项目=> 右键=> Git=> Commit Dirictory=> 可选要提交的文件、可选amend、可选commit前代码分析、填写msg=>右下角commit或commit and push
- 在gitee或者github上新建仓库
- 选中项目=> 右键=> Git=> Repository=> Remotes=> 填写远程仓库的url (此时需填写远程仓库账号与密码进行登录)
- 选中项目=> 右键=> Git=> Repository=> push (或者ctrl+shift+k)
- 后续即可使用add,commit,push等操作。
Idea用git上传项目
法1:选中路径或文件=> 右键=> Git=> xxx
法2:选中路径或文件=>VCS=> xxx
Idea解除git项目
File=> Settings=> Version Control=> Directories=> 删除相应路径
为了删除彻底,可以到相应目录下删除.git文件夹;若为了以后再次关联,则保留.git文件夹。
取消/回退
取消所有文件的修改(未commit)
方法:菜单栏的Git=> Reset HEAD=> Reset Type选择“Hard”
取消单个文件的修改(未commit)
方法:在文件名上右键(或者在文件内容中右键)=> Git=> Show History=> 选中最上边一条提交=> Get=> Overwrite Modified File
取消提交(未push)
可以取消commit(未push)。
方法:侧边栏的Git=> 右键想取消的commit=> undo commit
回退提交(已push)
可以回退commit(已经push)。
方法:Git=> 右键想回退的commit=> revert commit=> push
cherry pick(遴选)
使用Idea
- 切到目的分支(比如:test)(软件右下角:git的分支管理)
- 找到其他分支的提交记录(软件左下角:git的提交记录。或者Git=> Show git log)
- 右键相应的提交
- 选择“cherry pick”
- push
忽略文件
忽略没有add到仓库的文件
法1:Changelist
进入管理工具:
Idea2020.3.2及之后:左上角Commit=>
Idea2020.3.2之前:左下角git(alt+9)=> 左上角“Local Changes=>
开始操作:
”左下角“眼睛图标”=> Show Ignored Files=> 右键“Default Changelist”中的文件=> ignore(此时文件就到了ignored changelist里边,不会提交)
法2:.gitignore文件
方法
右键文件/文件夹=> git=> Add to .gitignore file=> Add to .gitignore
说明
.gitignore这个文件本身会提交到版本库中去。也就是说,其他人也会排除掉这些文件。
匹配规则
下面是一些.gitignore文件忽略的匹配规则:
*.a # 忽略所有 .a 结尾的文件
!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
法3:.git/info/exclude文件
方法
右键文件/文件夹=> git=> Add to .gitignore file=> .git/info/exclude
说明
.git/info/exclude这个文件本身不会提交到版本库中去。
这里设置的是你自己本地需要排除的文件,他不会影响到其他人。
忽略已经add到仓库的文件
法1:ChangeList
进入管理工具
Idea2020.3.2及之后:左上角Commit=>
//Idea2020.3.2之前:左下角git(alt+9)=> 左上角“Local Changes=>
开始操作
文本一样的图标=> New Changelist=> 起个名字(下边的“Set active”, "Track Context”不要选中,若选中“Set active”会被提交)=> 右键“Default Changelist”中的文件=> "Move to another Changelist"=> 选择刚刚新建的Changelist
其他网址
IDEA忽略文件,防止git提交不想提交的文件 - osc_joey8bu9的个人空间