Major Changes in TFS 2017 Git: Redesigned Branch Page, New Pull Request Experience, Squash Merge, and More
The TFS 2017 update introduces a completely redesigned branch page with a "mine" view, a revamped pull‑request UI featuring enhanced diff, comment, and file tracking capabilities, new squash‑merge support, improved build and commit traceability, Git LFS file preview, code‑link sharing, and additional UI enhancements for a smoother DevOps workflow.
Major changes in TFS 2017 Git, including a redesigned branch page and a new "squash merge" option.
Redesigned Branch Page
The branch page has been completely redesigned. It now includes a "mine" perspective that shows branches you have created, pushed to, or starred. Each branch displays its build and pull‑request status and offers commands such as delete. Branch names containing slashes (e.g., "features/jeremy/fix-bug") are shown as a tree, making it easy to browse large branch lists. You can also quickly search for a branch by name.
For more details on branches, see Manage Branches .
New Pull‑Request Experience
This release brings major updates to the pull‑request experience, adding powerful diff features, a new comment UI, and a fresh overall design.
For details, see Review Code with Pull Requests .
Redesigned UI
When you open a pull request, the new look appears immediately. The header has been reorganized to surface key status and actions across all views.
The description area is now emphasized, making feedback easier than ever. Comments and events are displayed with the newest items on top, helping reviewers see the latest changes and remarks. Detailed information about policies, work items, and reviewers has been reorganized for clarity.
Files
The biggest new feature is the ability to view updates made to a pull request over time. Previously, tracking changes between updates was difficult. Now the "Files" view shows exactly what changed each time new code was pushed to the pull request, which is useful for reviewing specific feedback independent of other changes.
Updates
The new "Updates" view shows how a pull request evolves over time. While the "Files" view shows file‑level changes, the "Updates" view lists each commit added by each update, preserving forced‑push history as well.
Comments with Markup and Emojis
All discussions now support full markdown, including code formatting, links, images, and emojis. The comment editor offers a friendlier editing experience, allowing multiple comments to be edited and saved in one go.
Add and Remove Reviewers
Adding or removing reviewers is now simpler. To add a reviewer or group, type the name in the search box within the reviewers section. To remove a reviewer, hover over their tile and click the X.
Improved Build and Pull‑Request Traceability
Traceability between builds and pull requests has been enhanced, making navigation between them effortless. In the build details view triggered by a pull request, a link now points back to the originating pull request. In the build definition view, any build triggered by a pull request shows a link in the "Triggered By" column. The build explorer also lists pull‑request links in the source column.
Comment Tracking
Comments now stay attached to the correct line even if the file changes after the comment is added. Previously, comments remained on the original line number regardless of file edits. The new behavior moves comments with the code, preserving their intended location.
Example of a comment moving from line 13 to line 14 after an insertion at the top of the file:
Even after the line shifts, the comment appears at the expected new line.
Auto‑Complete Pull‑Request Completion Policies
Teams using branch policies can now enable auto‑complete. When a pull request author is ready to merge but must wait for a successful build or final reviewer approval, they can set the pull request to auto‑complete once all policies are satisfied.
Authors can also customize the merge commit message and choose the appropriate merge option.
After setting auto‑complete, a banner appears confirming the setting and indicating that the pull request is waiting for policy fulfillment.
When all policies are met (e.g., build succeeds or final approval granted), the pull request merges using the selected options and comments. If any policy fails, the pull request remains active until resolved.
Squash‑Merge Pull Requests
When completing a pull request, you can now choose "Squash Merge". This option creates a single commit that contains all changes from the source branch, resulting in a simpler history graph because intermediate commits are not visible.
See Squash‑Merge Pull Requests for more details.
Commit Traceability
Build status (success or failure) is now clearly displayed in the Code Explorer and commit details view. A single click reveals more information, so you always know whether a commit passed the build. You can also customize which build statuses are published in the repository settings. The commit details view now provides deeper insight into the changes made. If the commit was introduced via a pull request, a link to that pull request is shown. After the change reaches the target branch, a branch link confirms inclusion.
Viewing Git LFS Files in the Web
If you store large files (audio, video, datasets, etc.) with Git LFS, this change lets you view the full content of those files directly in the web UI by clicking the file in the repository.
For more information, see Manage Large Files with Git LFS .
Create and Share Links to Specific Code Sections
Use the code link feature to share a reference to a specific part of the code. Select text in a file and click the link icon; the generated URL highlights the selected code with a gold background when viewed, and it works for line‑range selections as well.
Status API
Build status (success or failure) is now clearly displayed in the Code Explorer and commit details view, with a single click providing more information. You can also customize which build statuses are published in the repository settings.
File Type Icons
New file icons now match file extensions across the explorer, pull requests, commit details, shelvesets, changesets, or any view that lists files.
Add a README When Creating a Repository
The new Git repository creation flow now offers the option to add a README file, helping other users understand the purpose of the code and allowing you to clone the repository immediately.
Please follow the WeChat public account devopshub for more DevOps integration information.
DevOps
Share premium content and events on trends, applications, and practices in development efficiency, AI and related technologies. The IDCF International DevOps Coach Federation trains end‑to‑end development‑efficiency talent, linking high‑performance organizations and individuals to achieve excellence.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.