abapgit
Skill72 starsChanged 4 months agoMITView on GitHub
Help with abapGit workflows including repository setup, cloning, serialization, branching strategies, transport-vs-git workflows, CI/CD integration, and .abapgit.xml configuration. Use when users ask about abapGit, git for ABAP, ABAP version control, abapGit clone, abapGit pull, abapGit push, branching strategy for ABAP, abapGit configuration, serialization, deserialization, transport vs git, gCTS, abapGit CI/CD, or managing ABAP code in git repositories. Triggers include "set up abapGit", "clone a repo", "push ABAP to git", "abapGit branching", "abapGit configuration", ".abapgit.xml", "transport vs git", or "CI/CD for ABAP".
- Commits and pushes
1 other project uses a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- williamcorrea23/sap-router-skilledited, first seen Jul 13, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
- williamcorrea23/sap-router-skill★ 1100% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository16 other files it gives its agents.
- abap-cloud-migrationSkill
- abap-cloudSkill
- abapSkill
- abap-sql-amdpSkill
- abap-unit-testingSkill
- atc-cloudificationSkill
- authorization-iamSkill
- badi-enhancementSkill
- btp-abap-environmentSkill
- btp-diagram-generatorSkill
- cds-view-entitiesSkill
- odataSkill
- rap-business-eventsSkill
- rapSkill
- released-abap-classesSkill
- sap-fiori-url-generatorSkill
The file
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 8 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 41
Create report ZABAPGIT_STANDALONE or ZABAPGIT_FULL
- Very specific: line 44
Run the report via SE38 or transaction ZABAPGIT
- Very specific: line 55
Import via STRUST (transaction) → SSL Client (Anonymous) or (Standard)
- Distinctive: line 140
Keep main branch stable and deployable
- Distinctive: line 141
Create short-lived feature branches
- Distinctive: line 169
Commit changes to Git (abapGit push)
- Distinctive: line 170
Use transport requests to move to QAS/PRD
- Distinctive: line 219
When helping with abapGit topics, structure responses as:
- Distinctive: line 246
abap: Use for abaplint integration with abapGit repositories
- Distinctive: line 247
btp-abap-environment: Use for abapGit setup in BTP ABAP Environment
- Distinctive: line 248
abap-cloud: Use for ensuring abapGit repositories are ABAP Cloud compliant
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
abapGit Workflows
Guide for managing ABAP development objects in Git repositories using abapGit.
Workflow
- Determine the user's goal:
- Setting up abapGit for the first time
- Cloning an existing repository
- Pushing ABAP code to a Git repository
- Configuring branching or transport strategies
- Setting up CI/CD pipelines for ABAP
- Troubleshooting abapGit issues
- Identify the environment:
- On-premise SAP system with abapGit standalone
- SAP BTP ABAP Environment (abapGit integration in ADT)
- gCTS (Git-enabled Change and Transport System)
- Guide implementation with best practices for ABAP-specific Git workflows
abapGit Overview
| Aspect | Description |
| What | Open-source Git client for ABAP, runs inside the SAP system |
| Serialization | Converts ABAP objects to file-based format for Git storage |
| Deserialization | Imports file-based format back into ABAP objects in the system |
| Supported Objects | Classes, interfaces, CDS, function groups, programs, tables, etc. |
| Installation | Via abapGit standalone report or Eclipse plugin |
Setup
Installing abapGit Standalone (On-Premise)
- Create report
ZABAPGIT_STANDALONEorZABAPGIT_FULL - Download latest version from https://raw.githubusercontent.com/abapGit/build/main/zabapgit_standalone.prog.abap
- Copy content into the report and activate
- Run the report via
SE38or transactionZABAPGIT
abapGit in ADT (BTP ABAP Environment)
- In ADT: Window → Show View → Other → abapGit Repositories
- Link repository using HTTPS URL
- Requires communication arrangement for Git service
SSL Certificates
- Download GitHub/GitLab root certificates
- Import via
STRUST(transaction) → SSL Client (Anonymous) or (Standard) - Required for HTTPS connections to Git providers
Core Operations
Clone a Repository
1. Open abapGit (standalone or ADT)
2. Click "+ Clone" / "Link abapGit Repository"
3. Enter repository URL (HTTPS)
4. Select target package (create if needed)
5. Select branch (default: main)
6. Pull objects into the systemPush Changes to Git
1. Stage changed objects (select what to include)
2. Write a meaningful commit message
3. Push to remote branch
4. Resolve conflicts if anyPull Updates from Git
1. Open the repository in abapGit
2. Click "Pull"
3. Review incoming changes
4. Activate pulled objects.abapgit.xml Configuration
The .abapgit.xml file in the repository root controls serialization settings:
<?xml version="1.0" encoding="utf-8"?>
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DATA>
<MASTER_LANGUAGE>E</MASTER_LANGUAGE>
<STARTING_FOLDER>/src/</STARTING_FOLDER>
<FOLDER_LOGIC>PREFIX</FOLDER_LOGIC>
<IGNORE>
<item>/.gitignore</item>
<item>/LICENSE</item>
<item>/README.md</item>
<item>/package.json</item>
<item>/.travis.yml</item>
</IGNORE>
<REQUIREMENTS/>
</DATA>
</asx:values>
</asx:abap>Key Settings
| Setting | Values | Description |
MASTER_LANGUAGE | E, D, etc. | Master language for texts |
STARTING_FOLDER | /src/ | Root folder for serialized objects |
FOLDER_LOGIC | PREFIX / FULL | How package hierarchy maps to folders |
IGNORE | File patterns | Files to exclude from deserialization |
REQUIREMENTS | Software components | Dependencies that must be present before import |
Folder Logic
- PREFIX: Package name prefix is removed.
Z_PKG_SUBunderZ_PKG→sub/folder - FULL: Full package name becomes folder.
Z_PKG_SUB→z_pkg_sub/
Branching Strategy
Recommended: Trunk-Based for ABAP
main (production-ready)
└── feature/add-validation
└── feature/new-report
└── bugfix/fix-calculation- Keep
mainbranch stable and deployable - Create short-lived feature branches
- Merge via pull requests with code review
- One SAP system per branch for development
Transport-Based Strategy
DEV system ←→ feature branches
QAS system ←→ release branch
PRD system ← main branch (tags for releases)Transport vs. Git Workflows
| Aspect | Transport-Based | Git-Based (abapGit) |
| Versioning | Transport requests | Git commits with full history |
| Collaboration | Transport of copies | Branches, pull requests, code review |
| Rollback | Difficult | git revert or checkout previous commit |
| CI/CD | Limited | Full integration with pipelines |
| Multi-system | Transport routes | Clone/pull to each system |
| Conflict resolution | Manual | Git merge tools |
Hybrid Approach
Many teams use abapGit for version control while retaining transports for deployment:
- Develop in DEV system
- Commit changes to Git (abapGit push)
- Use transport requests to move to QAS/PRD
- Git serves as source of truth and backup
CI/CD Integration
abaplint in CI Pipeline
# .github/workflows/abaplint.yml
name: abaplint
on: [push, pull_request]
jobs:
abaplint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: niclas-timm/abaplint-action@mainabaplint.json Configuration
{
"global": {
"files": "/src/**/*.*"
},
"syntax": {
"version": "Cloud",
"errorNamespace": "^(Z|Y|LCL_|LIF_)"
},
"rules": {
"description": "ABAP lint configuration"
}
}Troubleshooting
| Issue | Solution |
| SSL handshake error | Import SSL certificates via STRUST |
| Authorization error | Check S_DEVELOP authorization object |
| Object locked by transport | Release or remove transport lock |
| Serialization error | Check object type support in abapGit |
| Namespace conflicts | Ensure unique naming conventions |
| Large repository slow | Use shallow clone or split into sub-packages |
Output Format
When helping with abapGit topics, structure responses as:
## abapGit Guidance
### Context
- Environment: [On-premise / BTP / gCTS]
- Operation: [Clone / Push / Pull / Setup]
### Steps
[Step-by-step instructions]
### Configuration
[Relevant .abapgit.xml or abaplint settings]References
- abapGit Documentation: https://docs.abapgit.org/
- abapGit GitHub: https://github.com/abapGit/abapGit
- abaplint: https://abaplint.org/
Related Skills
- abap: Use for abaplint integration with abapGit repositories
- btp-abap-environment: Use for abapGit setup in BTP ABAP Environment
- abap-cloud: Use for ensuring abapGit repositories are ABAP Cloud compliant
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

