-
Notifications
You must be signed in to change notification settings - Fork 4
add first draft of state of git in different companies #75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
kieranjmartin
wants to merge
1
commit into
main
Choose a base branch
from
49-gitstate
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+39
−2
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,3 +1,32 @@ | ||||||
| # The state of Git usage across the industry | ||||||
|
|
||||||
| This section will describe the current state of Git in the industry | ||||||
| This section will describe the current state of Git in the industry. It will discuss some overall trends and look at some individual case studies. | ||||||
|
|
||||||
| ## Astex Pharmaceuticals | ||||||
|
|
||||||
| Astex Pharmaceuticals have introduced Git into their bioinformatics/statistics department, producing a practical guide for statisticians outlining the five core steps of a Git workflow: cloning a repository via SSH, creating a personal branch, staging and committing changes, pushing to the remote, and merging back to the main branch. | ||||||
|
|
||||||
| The guide acknowledges the common points of confusion for new users at each step — including SSH key setup, branch naming conventions, selective staging, amending commits, resolving merge conflicts, and understanding the sequencing of merge, pull, and push operations. | ||||||
|
|
||||||
| ## Novartis | ||||||
|
|
||||||
| Novartis have been looking to adopt Git as the backbone for version control in their new SCE. To reduce the burden for programmers adopting a environment and Git setup at the same time, much of the flow has been abstracted. They use a Git strategy of release - stage/feature and dev/flfeature + dev/qcfeature. | ||||||
|
|
||||||
| Only dev branches are unprotected, and first line and QC are seperated (where double programming is required) only merging into the protected stage/feature branch, where, after checking for quality, they are merged to main. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| This process is controlled via tooling designed to create and manage branches, and making use of Domino's in built Git features which simplify user interaction with Git. The aim is to try to avoid complexities as much as possible, while still gaining the benefits of tracking evidence of quality control via pull requests. | ||||||
|
|
||||||
| ## Roche | ||||||
|
|
||||||
| As described in the 2024 Phuse Paper @{Martin24}, Roche has integrated Git into their QC Workflow during clinical reporting in their new SCE. Using project management tooling in Gitlab, they use issues to track the SDTM, ADaM and TFL they produce. The issues use tags to indicate QC level. Code repositories exist for each reporting event. There are two permenant branches, main and devel, with main representing production code. As features are developed, feature branches are created, with one per feature: but note that both first line and QC programming happens on the same branch. | ||||||
|
|
||||||
| ## Sanofi | ||||||
|
|
||||||
| Git adoption is currently in a transitional phase. While Git is not yet routinely used for clinical study deliverables, it has already established a solid foothold in supporting activities: it underpins the development of internal packages used across the SDTM, ADaM, and TL&F workflows, and serves as the backbone for technical documentation, maintained through dedicated repositories and associated websites. This existing usage demonstrates a growing familiarity with Git-based workflows within the statistical programming community. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Just for consistency |
||||||
|
|
||||||
| Building on this foundation, a dedicated team is actively preparing the broader transition of clinical studies to Git — addressing key integration points with the company's statistical computing environment, and developing end-user documentation and training materials to support adoption at scale. The year 2026 is set to mark a turning point, with pilot clinical studies expected to be fully integrated with Git, accompanied by a structured change management program to ensure a smooth and sustainable shift across the organization. | ||||||
|
|
||||||
| ## UCB | ||||||
|
|
||||||
| UCB have adopted Git repositories within Azure DevOps (ADO) for collaborative R package development. Repositories are hosted on Azure Repos, with developers cloning into RStudio and working across main, devel, and feature branches. Commits can be made either through RStudio or directly via the ADO interface. Pull requests are used to merge changes into higher-order branches, with a formal code review process including comments, suggestions, and approvals. A key strength of this approach is that it is easy to identify changes made for specific purposes even when multiple programmers are editing the same program. One noted weakness is that ADO's tooling for resolving merge conflicts is limited, and RStudio is preferred for conflict resolution. | ||||||
|
|
||||||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Atorus Research
Atorus Research uses Git to support collaborative development of R programs and packages. For R development, Git operations can be performed through the RStudio Git pane or via terminal. Developers begin by pulling the latest changes from the main branch of the remote repository. A new, short-lived branch is then created for a specific enhancement, issue, or programming change, and is linked to the relevant issue or change ticket to maintain traceability. The required code changes are developed and tested within the local project. Programmers review the differences before staging, committing, and pushing their changes to the remote repository. A pull request is created to merge the completed changes into the main branch. The main branch is protected, and changes can only be merged through an approved pull request. Automated CI/CD checks run on the pull request, and the code is reviewed and approved by someone other than the author. Completed branches are deleted after merging. This workflow provides clear version history, supports collaboration, attributes changes to individual contributors, and allows previous versions to be restored when needed.