Tag: git

无法使用File delete()方法删除git repo中的.pack文件

对于我写的这个方法,我正在使用jgit库克隆一个git repo,然后用这些文件做一些事情,最后我想删除repo。 我遇到的问题是当我在.pack文件(位于.git \ objects \ pack)上调用delete()方法时,它无法删除。 但是可以删除所有其他文件。 为什么会这样?

在哪里为Java项目git init?

我创建了工作区TestWorkspace ,在其中,我创建了项目Testing Project (现在有.settings , src , bin文件夹和.classpath , .project文件)。 我将在此项目下添加我的代码,我想在gitHub上托管这个项目。 为了做到这一点,我将不得不git init 我应该在哪里git init ? 在工作区文件夹TestWorkspace或项目文件夹中Testing Project ? 什么是理想的方式,以便进一步我不会面临问题?

使用JGit对最后一次提交的文件差异

我正在尝试使用JGit来获取上次提交的文件与最近未提交的更改之间的差异。 我怎么能用JGit做到这一点? (使用命令行将是git diff HEAD的输出) 经过几次讨论( link1 , link2 )后,我带来了一段能够找到未经修改的文件的代码,但是我无法得到文件的不同之处 Repository db = new FileRepository(“/path/to/git”); Git git = new Git(db); AbstractTreeIterator oldTreeParser = this.prepareTreeParser(db, Constants.HEAD); List diff = git.diff().setOldTree(oldTreeParser).call(); for (DiffEntry entry : diff) { System.out.println(“Entry: ” + entry + “, from: ” + entry.getOldId() + “, to: ” + entry.getNewId()); DiffFormatter formatter = new […]

使用JGit从Git检索提交消息日志

我只想从Git存储库中检索commitlog,该存储库包含您在特定repopsitory上完成的所有提交的消息。 我找到了一些用于实现此目的的代码片段,并以exception结束。 try { FileRepositoryBuilder builder = new FileRepositoryBuilder(); Repository repo = builder.setGitDir(new File(“https://github.com/name/repository.git”)).readEnvironment().findGitDir().build(); RevWalk walk =new RevWalk(repo); ObjectId head = repo.resolve(Constants.HEAD); RevCommit commit =walk.parseCommit(head); Git git =new Git(repo); Iterable gitLog = git.log().call(); Iterator it = gitLog.iterator(); while(it.hasNext()) { RevCommit logMessage = it.next(); System.out.println(logMessage.getFullMessage()); } } catch(Exception e) { e.printStackTrace(); } 但它给了我: org.eclipse.jgit.api.errors.NoHeadException: No HEAD […]

如何适应多种编码风格? (git与IDE)

我正在使用git-sourced,maven管理的Java项目进行合作,该项目使用多个IDE的用户具有不同的代码样式首选项(注释1)。 是否有工具或IDE配置允许使用样式1查看和编辑代码,但是使用样式2提交给SCM? 我的研究指出我’不’,但是结合git hooks和Checkstyle / jrefactory的解决方案可能是可能的。 因此,如果上面的“否”,是否有一个工具/流程将执行下面的TBD流程操作? User1的结帐流程将是: git pull TBD进程将代码格式化为User1 style-1 User1使用样式1设置在其首选IDE中工作 User1的提交工作流程将是: User1已准备好提交/推送代码 TBD过程将代码格式化为标准格式样式标准 git push 注1:多个IDE = Eclipse,IntelliJ,Netbeans。 注2:我的问题与这个问题的不同之处在于我想关注与IDE相关的解决方案,因为迫使少数标准不同的用户可能是一种更有效的解决方案。 注3:承认不应该出于最佳实践原因这样做。 但是,如果您认为我们的IDE和SCM需要更多的灵活性,那么这个问题就是为了探索这些解决方案。

Git无法识别重命名和修改的包文件

我有一个名为package/old/myfile.java的java文件。 我通过git提交了这个文件。 然后我将我的包重命名为new所以我的文件在package/new/myfile.java 。 我现在想将此文件重命名(和内容更改)提交给git。 当我做git status我得到了 # Changes not staged for commit: # (use “git add/rm …” to update what will be committed) # (use “git checkout — …” to discard changes in working directory) # # deleted: package/old/myfile.java # # Untracked files: # (use “git add …” to include in what will be […]

使用EGit的Eclipse,git-blame信息很难看到

使用Eclipse Indigo Service Release 2,使用EGit插件和JDK 1.7。 我已经看到它应该支持责备注释,但我不能像我在Eclipse Wiki上看到的那样显示它。 这是它看起来如何,你看不到指针,但我是在垂直的棕色线上盘旋: 任何人都知道如何扩展注释视图?

使用egit将项目导入eclipse

我试图使用egit插件将此项目导入eclipse。 我一直在使用本教程来学习如何操作。 但问题是要弄清楚在eclipse中输入对话框的内容。 上述链接均未提供有关该信息的充分信息。 我正在包括下面的eclipse对话框的图片。 任何人都可以告诉我在对话框中的每个输入字段中放入什么?

解决冲突融合算法

我看一下看起来搞砸了的合并标记。 为了给你这种情况,让我们: public void methodA() { prepare(); try { doSomething(); } catch(Exception e) { doSomethingElse(); } } 现在进入合并(我使用SourceTree进行拉动)。 标记看起来像这样: <<<<<<<<>>>>>>> 9832432984384398949873ab } 所以拉取提交的作用是完全删除methodA并添加methodB。 但是你注意到有些线路完全缺失。 根据我对该过程的理解,Git正在尝试所谓的自动合并,如果这个失败并且检测到冲突,则完整合并由标记为“<<>> * CommitID’并准备手动冲突解决方案。 那么为什么它会遗漏一些线条呢。 它看起来更像是一个bug。 我使用的是Windows7,安装的git版本是2.6.2.windows.1 。 虽然最新的版本是2.9,但我想知道是否有任何关于具有如此规模的合并问题的git版本的知识? 这不是我第一次经历这样的事情……

使用Git和Eclipse管理Android项目

我相信我有一个非常普遍的问题会影响开发人员使用他们的应用程序的多个版本(在我的情况下,我有两个:付费一个和免费的一个)。 为了管理这两个版本,我使用相同的git项目和2个不同的分支:free和paid但是我的源代码包名称彼此不同(正如预期的那样),并且java限制使目录名称映射到包名称会出现问题:如何告诉git将某个目录下的文件与每个分支相关联? 让我举个例子:我有两个分支: 主 自由 在master中我的源代码在com.zemariamm下,但是在“free”分支中源代码在“com.zemariamm.free”下,如何配置git以“告诉他”目录com.zemariamm下的源代码(在分支主机中)映射到目录com.zemariamm.free下的源代码(在分支中)? 非常感谢,Ze