Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Not every file in your project needs tracking by Git. Examples of files that typically don't need tracking include temporary files from your development environment, test outputs, and logs.
You can use several mechanisms to inform Git which files in your project shouldn't be tracked and to ensure that Git doesn't report changes to those files. For files that Git doesn't track, you can use a .gitignore or exclude file. For files that Git already tracks, you can instruct Git to stop tracking them and ignore any changes.
- View code in private projects: At least Basic access. - Clone or contribute to code in private projects: Member of the Contributors security group or corresponding permissions in the project. - Set branch or repository permissions: Manage permissions permissions for the branch or repository. - Change default branch: Edit policies permissions for the repository. - Import a repository: Member of the Project Administrators security group or Git project-level Create repository permission set to Allow. For more information, see Set Git repository permissions.
- View code: At least Basic access. - Clone or contribute to code: Member of the Contributors security group or corresponding permissions in the project.
You can tell Git not to track certain files in your project by adding and configuring a .gitignore file. Review the following key points:
Untracked files: Entries in a .gitignore file apply only to untracked files. They don't prevent Git from reporting changes to tracked files. Tracked files are files that were committed and exist in the last Git snapshot.
File search patterns: Each line in a .gitignore file specifies a file search pattern relative to the .gitignore file path. The .gitignore syntax is flexible and supports the use of wildcards to specify individual or multiple files by name, extension, and path. Git matches .gitignore search patterns to the files in your project to determine which files to ignore.
Location: Typically, you add a .gitignore file to the root folder of your project. However, you can add a .gitignore file to any project folder to let Git know which files to ignore within that folder and its subfolders at any nested depth. For multiple .gitignore files, the file search patterns that a .gitignore file specifies within a folder take precedence over the patterns that a .gitignore file specifies within a parent folder.
Creation: You can manually create a .gitignore file and add file pattern entries to it. Or you can save time by downloading a .gitignore template for your development environment from the GitHub gitignore repo.
Benefits: One of the benefits of using a .gitignore file is that you can commit changes and share it with others.
Piezīme
Visual Studio automatically creates a .gitignore file for the Visual Studio development environment when you create a Git repo.
Visual Studio 2022 provides a Git version control experience through the Git menu, Git Changes, and shortcut menus in Solution Explorer. Visual Studio 2019 version 16.8 also offers the Team Explorer Git user interface. For more information, see the Visual Studio 2019 - Team Explorer tab.
In the Git Changes window, right-click any changed file that you want Git to ignore, and then select Ignore this local item or Ignore this extension. Those menu options don't exist for tracked files.
Visual Studio 2019 provides a Git version control experience through the Git menu, Git Changes, and shortcut menus in Solution Explorer.
In the Git Changes window, right-click any changed file that you want Git to ignore, and then select Ignore this local item or Ignore this extension. Those menu options don't exist for tracked files.
Visual Studio 2019 version 16.8 and later versions provide a Git version control experience while maintaining the Team Explorer Git user interface. Follow these steps to use Team Explorer:
Go to the menu bar and select Tools > Options > Preview Features.
Clear the New Git user experience checkbox to enable Team Explorer.
You can use Git features from either interface interchangeably.
To ignore files using Team Explorer:
In the Changes view of Team Explorer, right-click any changed file that you want Git to ignore.
Select Ignore this local item or Ignore this extension. These menu options don't exist for tracked files.
The Ignore this local item option adds a new entry to the .gitignore file and removes the selected file from the list of changed files.
The Ignore this extension option adds a new entry to the .gitignore file and removes all files with the same extension as the selected file from the list of changed files.
Either option creates a .gitignore file if it doesn't already exist in the root folder of your repo and adds an entry to it.
Edit a gitignore file
Each entry in the .gitignore file is either: a file search pattern that specifies which files to ignore, a comment that begins with a number sign (#), or a blank line (for readability). The .gitignore syntax is flexible and supports the use of wildcards to specify individual or multiple files by name, extension, and path. All paths for file search patterns are relative to the .gitignore file.
Here are some examples of common file search patterns:
Console
# Ignore all files with the specified name.# Scope is all repo folders.
config.json
# Ignore all files with the specified extension.# Scope is all repo folders.
*.json
# Add an exception to prevent ignoring a file with the specified name.# Scope is all repo folders.
!package.json
# Ignore a file with the specified name.# Scoped to the 'logs' subfolder.
/logs/test.logfile
# Ignore all files with the specified name.# Scoped to the 'logs' subfolder and all folders beneath it.
/logs/**/test.logfile
# Ignore all files in the 'logs' subfolder.
/logs/
As soon as you modify a .gitignore file, Git updates the list of files that it ignores.
Piezīme
Windows users must use a slash (/) as a path separator in a .gitignore file, instead of using a backslash (\). All users must add a trailing slash when specifying a folder.
Use a global .gitignore file
You can designate a .gitignore file as a global ignore file that applies to all local Git repos. To do so, use the git config command as follows:
A global .gitignore file helps ensure that Git doesn't commit certain file types, such as compiled binaries, in any local repo. File search patterns in a repo-specific .gitignore file have precedence over patterns in a global .gitignore file.
Use an exclude file
You can also add entries for file search patterns to the exclude file in the .git/info/ folder of your local repo. The exclude file lets Git know which untracked files to ignore. It uses the same syntax for file search patterns as a .gitignore file.
Entries in an exclude file apply only to untracked files. They don't prevent Git from reporting changes to committed files that it already tracks. Only one exclude file exists per repo.
Because Git doesn't commit or push the exclude file, you can safely use it to ignore files on your local system without affecting anyone else.
Use git update-index to ignore changes
Sometimes it's convenient to temporarily stop tracking a local repo file and have Git ignore changes to the file. For example, you might want to customize a settings file for your development environment without the risk of committing your changes. To do so, you can run the git update-index command with the skip-worktree flag:
Console
git update-index --skip-worktree <file path>
To resume tracking, run the git update-index command with the --no-skip-worktree flag.
Or, you can temporarily stop tracking a file and have Git ignore changes to the file by using the git update-index command with the assume-unchanged flag. This option is less effective than the skip-worktree flag, because a Git pull operation that changes file content can revert the assume-unchanged flag.
Console
git update-index --assume-unchanged <file path>
To resume tracking, run the git update-index command with the --no-assume-unchanged flag.
Use git rm to ignore changes
Entries in a .gitignore or exclude file have no effect on files that Git already tracks. Git tracks files that you previously committed. To permanently remove a file from the Git snapshot so that Git no longer tracks it, but without deleting it from the file system, run the following commands:
Pievienojieties meetup sērijai, lai kopā ar citiem izstrādātājiem un ekspertiem izveidotu mērogojamus AI risinājumus, kuru pamatā ir reālas lietošanas gadījumi.
Learn how to discard uncommitted changes, revert changes in shared commits, reset a branch to a previous state, and generally undo changes in a Git repo.