我正在使用JGit创建一个新的git存储库,文件夹中已经存在的所有内容都另存为new branch。
我正在用
Git.init().setDirectory(workingDir).call();
(默认情况下,master分支是在上面的语句之后创建的,所以我将其重命名为Backup分支)。
问题是当我推后支时,它被推了,但我无法建立远程跟踪。
从终端:如果我使用git分支-vv
结果是
master 5f1994c [origin/master] commitmsg
backupbranch 7a4d671 taking backup of file already in MyTests Folder..
根据链接,让现有的Git分支跟踪远程分支?我可以使用终端中的git branch-u upstream/foo
来指定推送backupbranch后的任何时间。
如何使用JGit实现它。
下面是我正在使用的代码
来创造后支
git.branchRename().setNewName(backUpName).call();
git.add().addFilepattern(".").call();
RevCommit commit = git.commit().setMessage("taking backup of file already in MyTests Folder..").call();
那就第一时间推。
Iterable<PushResult> pushResult = git.push().call();
请建议我如何为现有分支指定远程跟踪。
您可以使用本文中描述的CreateBranchCommand
java prettyprint-override">CreateBranchCommand create = git.branchCreate();
create.setUpstreamMode(SetupUpstreamMode.SET_UPSTREAM);
create.setName("develop");
create.setStartPoint("origin/develop");
create.setForce(true)
create.call();
注意setForce(true)
调用。因为您的本地分支已经存在,所以您需要覆盖它。之后,它将指向远程跟踪分支(origin/developer
)——不管怎么说,它以前是这样做的。
也可以直接修改配置文件。例如:
StoredConfig config = git.getRepository().getConfig();
String branchName = "develop"
String remoteName = "origin";
config.setString(ConfigConstants.CONFIG_BRANCH_SECTION, branchName, ConfigConstants.CONFIG_KEY_REMOTE, remoteName);
config.setString(ConfigConstants.CONFIG_BRANCH_SECTION, branchName, ConfigConstants.CONFIG_KEY_MERGE, Constants.R_HEADS + branchName);
config.save();
这将产生如下配置部分:
[branch "develop"]
remote = origin
merge = refs/heads/develop
我用JGit签出了一个远程跟踪分支。 文件已签出,但头部未指向分支。下面是git状态的输出, 同样的操作也可以在git命令行中执行,非常简单,而且非常有效, 如何做到这一点?
远程引用是对远程仓库的引用(指针),包括分支、标签等等。 你可以通过 git ls-remote (remote) 来显式地获得远程引用的完整列表,或者通过 git remote show (remote) 获得远程分支的更多信息。 然而,一个更常见的做法是利用远程跟踪分支。 远程跟踪分支是远程分支状态的引用。 它们是你不能移动的本地引用,当你做任何网络通信操作时,它们会自动移动。 远程跟踪分支像
对于一个新项目,我想使用Jenkins CI的新管道功能。我们的Git存储库中有几个分支,应该以同样的方式进行测试。它还应该自动跟踪和处理新的分支。因此,我创建了一个多分支管道作业。但它的配置有两个问题: 1) 为了被Jenkins标记为有效,分行需要一个“Jenkinsfile”。如果这不存在,詹金斯将忽略该分支。有没有办法标记与模式匹配的所有分支,而不需要在其中包含此文件? 2) 每个分支都应
我使用github的时间相对较短,并且一直使用客户端执行提交和拉取。我决定从昨天的git bash开始尝试它,并且我成功地创建了一个新的repo和提交的文件。 今天,我从另一台计算机上对存储库进行了更改,我提交了更改,现在我回到家里,执行了来更新我的本地版本,我得到了以下信息: 这次回购的唯一贡献者是我,没有分支(只有一个主人)。我在windows上执行了git Bash中的pull: 我做错了什
本文向大家介绍Git 创建分支提交远程分支详解,包括了Git 创建分支提交远程分支详解的使用技巧和注意事项,需要的朋友参考一下 Git 创建分支提交远程分支详解 1.创建本地分支 git branch 分支名,例如:git branch 2.0.1.20120806 注:2.0.1.20120806是分支名称,可以随便定义。 2.切换本地分支 git checkout 分支名,例如从master切
有没有办法使用JGit确定一个分支是远程分支还是本地分支(或两者都是)?我有: 它给出: 因此,newFeatureBranch既是本地分支,也是远程分支。目前我检查ref.getName()是否包含“remotes/origin”。但是,有没有更好的方法来确定分支是远程的还是本地的?