git原理以后会分章节介绍,本次主要说一下intellij怎样操作git。intellij有很好的git操作界面,可以拉取代码,拉取分支详情,提交代码到本地仓库,提交代码到远程仓库,可以merge本地分支,merge远程分支,可以自由的切换分支,可以解决merge带来的冲突问题。总之可以完成基本的git操作,详情如下。
1、 更新代码
ctrl+T,更新的是远程仓库的代码。(ps:默认更新选择的是branch default 和using stash,可以研究一下其他的选项哦)
2、提交代码
ctrl+K,如果本地代码没有改变,会提示,no changes detected(检测到没有改变)。如果本地代码有改变,则可以进行提交,对于git提交,首先是提交到本地仓库(commit),然后再提交(push)到远程仓库中,和svn比起来,相当于加上一层“缓存”,同时加上一层安全。如下图所示,还有一些其他的细节,一些按钮,可以探究一下哦。
3、两个分支的之间的切换
intellij的右下角有git相关的信息,如下图所示。
Git:xhf_buanch_test代表的是当前分支,一般情况下我们的当前分之是master。Local Branches:表示本地仓库中的分支,本地的分支都是从Remote Branches中checkout而来的,选择想要下载的远程分支,右键选择check out as new local branch,然后选择ok,在Local Branches中就会增加一个本地分支。
但是分支之间怎么切换呢,提交代码的时候提交到的是哪个分支呢?
当前分支是什么默认提交到的就是哪个分支,所以想要修改哪个分支,就切换到本地的哪个分支,但是在分支切换的时候会出现一些问题,为了避免这些问题的出现,最好保证如下点。
3.1切换之前ctrl+k,确保没有未提交到本地仓库的文件
3.2切换之前先更新,把这个分支更新为最新的code。
然后选择Local Branches中的分支切换为当前分支。可能会出现如下问题,比如分支A_1和分支A_2 两个分支,当A_1中添加了一些文件,但是还没有commit的时候,这时候切换分支到A_2 , A_2中也会有A_1中未提交的文件。
当有时候会出现从A_1分支切换到A_2分支上,需要merge,我们可以选择smart merge,当smart merge没有解决问题的时候,我们可以手动merge,merge result的结果,就是把这些文件放到你要切换到的分支上,所以最安全的方式是选择Merge这个按钮。
accept Yours是接受A_1分支上的改变,Accept Theirs是接受A_2分支的改变。
4、新建分支
点击git框的new Branch,然后输入自己分支的名称,按照本公司的分支命名规则哦。然后会自动切换到当前分支,然后再push到远程仓库中。
5、同步远程分支
可能有人新建了远程分支,但是在本地上的Remote Branches中并没有远程分支,所以需要右键选择git fetch。
6、merge远程分支。
A merge B是把A中的改动放到B分支上,B merge A是把B中的改动merge到A中,例如把master分支上的改动移到分支fb_xhf上,可以这样merge。
6.1 转到master分支上,然后更新master最新更新。
6.2 再转到fb_xhf上,然后在Local Branches中选择master分支,选择merge,这样就把本地的master merge到 本地仓库的fb_xhf上,然后再选择git push ,这样就把远程master merge到 fb_xhf上, 并会提示: Merged master to fb_xhf。
7、文件恢复
本地的文件修改后,想要恢复到本地git仓库上次的提交,可以右键选择git revert。
8、 cherry pick
就像摘樱桃一样,在changes列表中,可以看到其他分支提交的动态,如果想要把某次的变化放到当前分支上,可以右键选择cherry pick,这就是摘樱桃。
9、如果不小心不应该merge的时候merge了,怎样退回到上一次状态?
在changes中选中最新的提交,然后右键选择reset current branch to here。。然后弹框如下
选择Hard会返回上一状态,其他的选项,可以看看哦。
10、颜色变化
git 在未add到git管理的时候是褐色,add后的颜色是绿色,提交之后的颜色是正常色,有修改之后的颜色是蓝色。
11、如何删除某些已经提交到本地git仓库和远程仓库上的内容呢?
可以使用git命令:
在intellij中可以在执行完第一个步骤之后ctrl+K commit和push。
12、intellij去除非代码提交
修改 。gitignore文件,并提交到git上。如下修改
/target
/.idea
*.iml
*.ipr
*.iws
.idea
*/*.log
*/target/
*.DS_Store
*.classpath
*.settings
*.project
扩展:git http://my.oschina.net/pengfeix/blog/191897?p=1#OSC_h3_3 http://www.51itong.net/git-commit-amend-commit-8551.html
ps:如果测试的话,可以在github上测试,这样就省去了本地安装git服务端。
13.Git新建本地分支与远程分支关联问题:git branch --set-upstream
git本地新建一个分支后,必须要做远程分支关联。如果没有关联, git 会在下面的操作中提示你显示的添加关联。关联目的是如果在本地分支下操作: git pull, git push,不需要指定在命令行指定远程的分支. 推送到远程分支后, 你只要没有显示指定,git pull 的时候,就会提示你。
解决方法:
使用命令git branch --set-upstream ;实例如下,其中debug为创建的分支
git branch --set-upstream debug origin/debug
命令的最终修改都是针对 config 文件。
使用-- set-upstream 去跟踪远程分支。
[core]
repositoryformatversion = 0
filemode = true
bare = true
logallrefupdates = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git@192.168.1.160:android2.3.5_r1.git
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "debug"]
remote = origin
merge = refs/heads/debug
[receive]
denyCurrentBranch = ignore
注意仓库.git目录下的config文件
相关推荐
在给定的压缩包文件“git-2.15.0-intel”中,我们得到了适用于Mac OS的Git的最新版本2.15.0。这个版本特别针对Intel处理器进行了优化,确保在Mac上高效运行。 1. **Git基本概念**: - **版本控制**:Git的核心功能...
默认设置可能不足以应对复杂的项目,尤其是当项目包含大量代码、多个模块或频繁的Git操作时。作者在实际工作中发现,通过调整内存设置,可以明显感觉到IDE的速度提升和响应性增强。 测试环境为一台配备了2.3GHz ...
Ubuntu为开发者提供了丰富的工具和环境,如Git进行版本控制,Vim或Emacs作为文本编辑器,Python、Java、C/C++等编程语言的SDK,以及Visual Studio Code、IntelliJ IDEA等集成开发环境。 通过以上内容,读者将对...
对于源码控制,Android Studio集成了Git,你可以直接在IDE中进行版本控制操作,如提交、推送和拉取代码。此外,还可以使用GitHub、GitLab或其他源码托管服务与团队协作。 至于"工具"标签,通常指的是Android开发者...
8. **Git集成**:优化Git设置,如`VCS` -> `Git` -> `Push` -> `Push Options`,可以设置默认推送分支,减少手动选择的步骤。 9. **插件管理**:安装并启用有用的插件,如`Material Design Icons`、`Android ...
- **Intel VTune**:针对Intel处理器的高级性能分析工具。 **优化算法** - **贪婪算法**:通过每次选择局部最优解来达到全局最优。 - **动态规划**:通过将问题分解为子问题来解决问题。 - **分治法**:将大问题...
"https://github.com/4intel/Escrow-Service-Node.git"是该项目在GitHub上的URL,通过`git clone`命令,开发者可以将整个项目仓库复制到本地,以便进行开发和调试。 **Java技术栈** 标签中的"Java"提示我们,...
标签“Shell”则指向了这个话题可能涉及到操作系统命令行界面,特别是Unix或Linux环境中的Shell脚本和命令。 在这样的配置中,通常会包括以下几方面的内容: 1. **处理器(CPU)**:笔记本电脑的核心运算单元,决定...
3. **集成开发环境(IDE)**:Java开发中最常用的IDE有Eclipse、IntelliJ IDEA和NetBeans。它们提供了代码自动完成、调试、版本控制集成等功能,极大提升了开发效率。 4. **开发工具**:包括Git进行版本控制,Maven或...
在实际操作中,Java开发往往涉及到云计算和服务器配置,这时可能还需要了解如何在远程服务器上部署Java应用,例如使用Amazon AWS或Google Cloud Platform等服务。 总之,学习和实践Java编程所需的硬件主要取决于...