In the context of DevOps, you can easily delete the “feature login” branch both locally and remotely after it has been merged into the main branch by using the following steps:
Delete the branch locally
Firstly, you should ensure that you are not on the features login branch by switching to another branch generally main:
“git checkout main”
“git branch -d feature-login”
If the branch has not been merged and you still need to delete it then you can use:
“git branch -D feature-login”
Deleting the branch remotely
You can remove the branch from the remote repository by using the following command:
“git push origin - - delete feature – login”
Alternatively, now you can use the newer syntax:
“git push origin :feature login”
Here is a detailed java based coding example given which would demonstrate how you can delete a branch in a git repository programmatically by using the JGit library:
Import org.eclipse.jgit.api.Git;
Import org.eclipse.jgit.api.errors.GitAPIException;
Import org.eclipse.jgit.lib.Ref;
Import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider;
Import java.io.File;
Public class GitBranchDeletion {
Public static void main(String[] args) {
// Path to your local Git repository
String localRepoPath = “/path/to/your/repo”;
// Remote repository URL and credentials
String remoteRepoUrl = https://github.com/your-repo.git;
String username = “your-username”;
String password = “your-password”;
// Branch name to delete
String branchName = “feature-login”;
// Delete branch locally and remotely
Try {
deleteBranch(localRepoPath, remoteRepoUrl, username, password, branchName);
} catch (Exception e) {
e.printStackTrace();
}
}
Public static void deleteBranch(String localRepoPath, String remoteRepoUrl, String username, String password, String branchName) throws Exception {
File repoDir = new File(localRepoPath);
// Open the local repository
Try (Git git = Git.open(repoDir)) {
// Ensure branch exists locally
Ref branchRef = git.getRepository().findRef(branchName);
If (branchRef != null) {
// Checkout to another branch before deleting
Git.checkout().setName(“main”).call();
// Delete the branch locally
Git.branchDelete().setBranchNames(branchName).setForce(true).call();
System.out.println(“Deleted branch ‘” + branchName + “’ locally.”);
} else {
System.out.println(“Branch ‘” + branchName + “’ does not exist locally.”);
}
// Delete the branch remotely
deleteRemoteBranch(git, remoteRepoUrl, username, password, branchName);
}
}
Private static void deleteRemoteBranch(Git git, String remoteRepoUrl, String username, String password, String branchName) {
// Create a credentials provider
UsernamePasswordCredentialsProvider credentialsProvider = new UsernamePasswordCredentialsProvider(username, password);
Try {
// Perform the delete operation on the remote repository
Git.push()
.setRemote(remoteRepoUrl)
.setRefSpecs(“:refs/heads/” + branchName)
.setCredentialsProvider(credentialsProvider)
.call();
System.out.println(“Deleted branch ‘” + branchName + “’ from the remote repository.”);
} catch (GitAPIException e) {
e.printStackTrace();
}
}
}