我开始使用Java,这让我的Git使用更加痛苦。在许多Java设置中,文件嵌套得非常深,例如:
src/main/java/com/example/Main.java
所以当Git添加内容时我无法使用tab-complete,我必须输入所有这些目录。是否有任何类型的Git设置可以帮助解决这个问题?例如,如果Git知道只有一个Main.java已被添加,那么如果git add Main.java
只是工作,那就太好了,但事实并非如此。有什么类似的吗?
答案 0 :(得分:1)
Git支持所有已知的“Fileglobs”(请参阅git add的文档)。您可以从正则表达式中了解这些占位符。 可以找到这些全球的列表here。
在你的情况下
git add src/*/Main.java
这可能会在src / dir中添加所有Main.java文件,但这是一个不错的“快捷方式”。你甚至可以把它缩小到你已经发现的东西。
答案 1 :(得分:1)
似乎@RequestMapping("/api/")
public String h(@RequestParam String title){
System.out.println(title);
return "view";
}
正是您所寻找的。这是一个交互式工具,允许您暂存/取消更改。您不必指定完整的文件名,因为git会为每个文件编号。
文档对我来说有点混乱,但基本上,一旦输入命令,您将显示已更改的文件列表。然后,您可以输入"更新"模式并按编号选择每个文件。
要取消暂存文件,而不是"更新"你需要选择"还原"模式,然后以类似的方式,您按照他们的数字选择所需的文件。
参考 - https://git-scm.com/book/en/v2/Git-Tools-Interactive-Staging
答案 2 :(得分:1)
在你给出的具体例子中,你可以说
git add **/Main.java
在这种情况下,git“不知道只有一个Main.java
”;但如果你知道只有一个,那么这个命令会添加它。 (如果在.
下的目录中有多个具有该名称的文件,则会将它们全部添加。)
我一直习惯于开始输入每个目录名称,然后点击标签,因为我对每个目录都足够了。它不如单个标签完成名称那么好;对我来说,这比没有好,但我想也许我已经习惯了,因为在我知道之前更好:)