Visual studio сравнить две ветки
The Git Changes window provides a seamless way to interact with Git while coding without having to switch away from your code. But there are times when it makes more sense to focus on your Git repository. For example, you might need to get a good picture of what your team has been working on or maybe compare two commits to investigate a bug.
You can work remotely with the Git provider of your choice, such as GitHub or Azure DevOps.
Browse through local and remote branches
To get started, open the Git Repository window by selecting Git Repository on the View menu. You can also access the Git Repository window by selecting the outgoing/incoming links in the Git Changes window and on the status bar.
The Git Repository window contains three main sections, as numbered in the preceding screenshot:
Branches: Git empowers users to multitask and experiment with their code through branches. If you're working on multiple features at the same time or if you want to explore ideas without affecting your working code, branching can be helpful.
Graph: This section visualizes the state of your branch. It has three subsections:
- Incoming shows incoming commits that your team has been contributing.
- Outgoing shows your local commits that you still haven't pushed.
- Local History shows the rest of commits tracked by your local repository.
Commit: Selecting any commit in the Graph section opens its details. You can check the changes that a commit has introduced by selecting them, which shows a difference. For example, the previous screenshot shows the changes that one commit introduced to the Files.csproj file.
You can browse though any local or remote branch without having to switch your branch. When you find a commit that you want to focus on, select the Open in New Tab button to open the commit on a different tab.
To display your commit in full screen, detach your Commit tab and maximize the Commit window by using the Maximize button. You can also select your favorite diff configuration by selecting Diff Configuration (the gear icon).
Compare commits
To compare any two commits in your branch, use the Ctrl key to select the two commits that you want to compare. Then right-click one of them and select Compare Commits.
Similar to Commit Details, you can use the Open in New Tab button to open the comparison on a different tab or maximize it on the screen.
Create a branch from a commit
In Visual Studio, you can use the Git Graph pane in the Git Repository window to create branches from previous commits. To do so, right-click the commit you would like to create a new branch from, and then select New Branch.
The equivalent command for this action is git branch [] .
Compare branches
Comparing branches provides an overview of differences between two branches which can be very helpful before creating a pull request, merging, or even deleting a branch.
To compare your currently checked out branch with other branches using Visual Studio, you can utilize the branch picker hosted in the status bar and the Git changes tool window to choose any local or remote branch to compare with. Right click the branch you are targeting and select Compare with Current Branch. Alternatively, you can utilize the branch list on the Git Repository window to access the same command.
Selecting Compare with Current Branch opens the compare branches experience where you can navigate the Changes list and select the file that you would like to compare.
If you prefer an inline diff, you can use the diff configuration options gear and switch to an inline diff view.
Checkout commits
Checking out a commit can be beneficial in multiple ways. For example, it allows you to go back to a previous point in your repository’s history where you can run or test your code. It can also be helpful if you would like to review code from a remote branch (a colleague’s branch, for example). That way you don’t need to create a local branch if you are not planning on contributing to it. In this case, you can just checkout the tip of the remote branch that you would like to review.
To checkout a previous commit in Visual Studio, open the Git Repository window, right click on the commit you would like to go back to and select checkout (–detach). Visual Studio shows a confirmation dialog explaining that by checking out a commit you will be in a detached HEAD state. Meaning that the HEAD of your repository is going to point directly to a commit instead of a branch.
Now that you are in a detached head state, feel free to run and test your code or even explore and commit changes. When you are done exploring and want to go back to your branch, you can choose to discard your changes by checking out an existing branch or choose to keep your changes by creating a new branch first.
Commits created in a detached head state are not associated with any branch and may be garbage collected by Git after you checkout a branch. That is why to keep your changes, it is recommended to create a new branch before checking out a branch. For example, commits C5 and C6 will be garbage collected if we check out Main without creating a new branch. To learn more about the detached head state view the following Git documentation: Detached Head
Checking out the tip of a remote branch can be helpful if you would like to quickly review a pull request and evaluate the latest updates. To do that in Visual Studio, first make sure to fetch and get the latest updates from your remote repository. Then right click on the remote branch you would like to review and select Checkout Tip Commit.
Team Explorer Visual Studio позволяет выполнять наиболее распространенные задачи Git, необходимые для повседневной работы. В меню Visual Studio "Вид" откройте Team Explorer или нажмите клавиши CTRL+, CTRL+M.
Team Explorer и командная строка Git отлично работают вместе. При внесении обновлений и выполнении команд с помощью одного интерфейса эти изменения будут отражены в другом.
Инструкции по установке Git доступны, если на компьютере не установлен Git.
Windows пользователей: если вы не используете Visual Studio, установите Git для Windows, чтобы настроить диспетчер учетных данных Git. Диспетчер учетных данных упрощает проверку подлинности с помощью Azure Repos.
В Visual Studio откройте командную строку в репозитории из представления Подключение Team Explorer. Щелкните правой кнопкой мыши локальный репозиторий и выберите команду "Открыть командную строку".
Для выполнения некоторых команд требуется наличие определенных разрешений Git в Azure Repos.
Repos
Разделы справки?
Командная строка Git
Visual Studio
Создание репозитория в новой папке
git init Foldername
Создание репозитория с кодом в существующей папке
git init Foldername
git add --all
git commit -m "Initial commit"
Создайте репозиторий из командной строки, а затем откройте представление Подключение Team Explorer и выберите "Добавить в локальные репозитории Git".
Создание репозитория из существующего решения Visual Studio
git init Foldername
cd Foldername
git add --all
git commit -m "Initial commit"
Откройте решение и выберите " Опубликовать " ( ) в строке состояния в правом нижнем углу.
Создание нового репозитория в Project
В Интернете выберите Repos (или код, если вы еще не включили новую предварительную версию навигации), а затем щелкните раскрывающийся список рядом с текущим именем репозитория и выберите новый репозиторий.
Клонирование репозитория в локальную папку
git clone URLfoldername
Выберите "Клонировать" в разделе "Локальные репозитории Git" в представлении Подключение Team Explorer
Клонирование репозитория в Project
git clone URLfoldername
Откройте представление Подключение в Team Explorer и щелкните правой кнопкой мыши репозиторий Git в Project под именем учетной записи. Выберите "Клонировать" .
Добавление существующего репозитория в Visual Studio
Откройте файл решения в Visual Studio (это автоматически добавит репозиторий в Team Explorer) или выберите "Добавить в локальные репозитории Git" в представлении Подключение
Удалите репозиторий и журнал Git, но сохраните текущую версию файлов.
Удалите скрытую папку GIT, созданную в корне репозитория.
Удалите скрытую папку Git, созданную в корневом каталоге репозитория, из обозревателя Windows или командной строки.
Удаление локального репозитория и всех файлов
Удаление папки, содержащей репозиторий, из файловой системы компьютера
Закройте все открытые решения с помощью файлов в репозитории, а затем удалите папку, содержащую репозиторий, из файловой системы компьютера.
Удаление репозитория в Project
Добавление удаленного приложения
git remote add nameurl
Откройте репозиторий с помощью представления Подключение в Team Explorer, а затем откройте представление Параметры в Team Explorer. Выберите Параметры репозитория и выберите "Добавить" в разделе "Удаленные"
Обновление удаленного приложения
git remote set-url nameurl
Откройте репозиторий с помощью представления Подключение в Team Explorer, а затем откройте представление Параметры в Team Explorer. Выберите Параметры репозитория и выберите "Изменить" в разделе "Удаленные"
Дополнительные сведения см. в следующих ресурсах:
Ветви
Разделы справки?
Командная строка Git
Visual Studio
git branch branchname
Откройте представление "Ветви " в Team Explorer, а затем щелкните правой кнопкой мыши ветвь и выберите "Создать локальную ветвь" из.
Переключение на другую ветвь
git checkout branchname
Откройте представление "Ветви " в Team Explorer, а затем дважды щелкните локальную ветвь. Кроме того, щелкните имя текущей ветви в строке состояния и выберите другую ветвь.
Создание и переключение на новую ветвь
git checkout -b branchname
Откройте представление "Ветви " в Team Explorer, а затем щелкните правой кнопкой мыши ветвь и выберите "Создать локальную ветвь" из.
Удаление локальной ветви
git branch -d branchname
Откройте представление "Ветви " в Team Explorer, а затем щелкните правой кнопкой мыши ветвь и выберите команду "Удалить". Вы должны быть извлечены в другую ветвь, отличную от ветви, которую вы хотите удалить.
Удаление удаленной ветви
git push origin --delete branchname
Откройте представление "Ветви " в Team Explorer, разверните удаленный узел с ветвью, которую требуется удалить. Щелкните правой кнопкой мыши удаленный элемент и выберите "Удалить ветвь из удаленного"
Блокировка ветви, предотвращение обновлений для нее
В Интернете выберите вкладку "Ветви " во время просмотра репозитория. Выберите . рядом с ветвью, которую нужно заблокировать, и нажмите кнопку "Заблокировать". Разблокируйте ветвь с помощью разблокировки.
Настройка ветви по умолчанию в репозитории Azure DevOps
Щелкните значок параметров в Интернете ( ), а затем перейдите на вкладку "Управление версиями ". Выберите репозиторий Git, а затем щелкните . рядом с именем ветви и выберите "Задать в качестве ветви по умолчанию".
Настройка ветви сравнения для запросов на вытягивание в репозитории Azure DevOps
В Интернете выберите вкладку "Ветви " во время просмотра репозитория. Выберите . рядом с ветвью, которую нужно заблокировать, и нажмите кнопку "Сравнить ветвь".
Дополнительные сведения см. в следующих ресурсах:
Фиксации
Разделы справки?
Командная строка Git
Visual Studio
Создание новой фиксации
git commit -m "message"
Изменение последней фиксации с промежуточными изменениями
Откройте представление "Изменения" в Team Explorer, настроите изменения, а затем выберите "Изменить предыдущую фиксацию " в раскрывающемся списке "Действия ".
Этап всех изменений файлов
Откройте представление "Изменения " в Team Explorer. Щелкните значок в списке +изменений , чтобы подготовить все изменения для следующей фиксации.
Этап изменения определенного файла
git add имя_файла
Откройте представление "Изменения " в Team Explorer. Чтобы изменить этап, щелкните правой кнопкой мыши измененный файл и выберите "Этап".
Просмотр незатегированных изменений
git status --untracked
Откройте представление "Изменения " в Team Explorer. Незапланированные изменения перечислены в разделе "Изменения ".
git rm имя_файла
git commit -m "filename"
Удалите файл с помощью Обозреватель решений, командной строки или любых других средств. Щелкните правой кнопкой мыши удаленный файл в представлении изменений Team Explorer и выберите "Этап". Выберите "Зафиксировать промежуточно", чтобы зафиксировать удаление.
git mv имя_файла
git commit -m " Перемещено имя файла"
Переместите файл из одного расположения в другое в репозитории с помощью Обозреватель решений, командной строки или других средств. Щелкните правой кнопкой мыши перемещенный файл в представлении изменений Team Explorer и выберите "Этап ". Выберите "Зафиксировать промежуточно", чтобы зафиксировать перемещение.
git tag -a имя тега -m "description"
Откройте представление "Изменения" в Team Explorer, а затем выберите "Просмотреть журнал. " в раскрывающемся списке "Действие ". Найдите фиксацию в представлении журнала, а затем щелкните правой кнопкой мыши и выберите команду "Создать тег".
Дополнительные сведения см. в разделе "Сохранение работы с фиксациями".
Сравнение файлов и версий
Разделы справки?
Командная строка Git
Visual Studio
Сравнение текущего содержимого одного файла и содержимого последней фиксации
git diff HEAD имя_файла
Щелкните правой кнопкой мыши изменение в представлении "Изменения " в Team Explorer и выберите "Сравнить с неизмененных".
Сравнение текущей версии с ветвью
git diff branchname
Щелкните правой кнопкой мыши файл в Обозреватель решений и выберите "Просмотреть журнал. ", а затем выберите последнюю фиксацию в текущей ветви и последнюю фиксацию в удаленной ветви. Щелкните правой кнопкой мыши и выберите " Сравнить"
Сравнение изменений между двумя ветвями
git diff branchname1branchname2
Щелкните правой кнопкой мыши файл в Обозреватель решений и выберите "Просмотреть журнал. ", а затем выберите последние фиксации для обеих ветвей. Щелкните правой кнопкой мыши и выберите " Сравнить"
Синхронизация изменений
Разделы справки?
Командная строка Git
Visual Studio
Скачивание новых ветвей и фиксаций из удаленного репозитория, но не слияние их с локальными ветвями
Откройте представление синхронизации из Team Explorer и выберите "Выборка".
Слияние обновлений из удаленного репозитория в локальный репозиторий
git pull remotebranchname
Во время работы с ветвью в локальном репозитории откройте представление "Синхронизация " в Team Explorer, а затем выберите "Вытягивание".
Публикация локальной ветви в удаленном репозитории
git push -u remotebranchname
Откройте представление синхронизации в Team Explorer и выберите " Опубликовать " в разделе "Исходящие фиксации".
Синхронизация локальной ветви с удаленной ветвью, отправка локальных изменений и извлечение удаленных
git pull remotebranchname
Отправка git -u remotebranchname
Откройте представление синхронизации в Team Explorer. Выберите Синхронизация.
git push --force -u origin remote_branchname
Работа из командной строки
Дополнительные сведения см. в следующих ресурсах:
Слияние и повторная база
Разделы справки?
Командная строка Git
Visual Studio
Слияние ветви с текущей ветвью
git merge branchname
В представлении "Ветви Team Explorer" щелкните правой кнопкой мыши ветвь, которую нужно объединить, и выберите "Объединить из". Проверьте набор параметров и нажмите кнопку "Объединить".
Слияние удаленной ветви с текущей ветвью
git pull origin branchname
В представлении "Ветви Team Explorer" щелкните правой кнопкой мыши удаленную ветвь, которую нужно объединить, и выберите "Объединить из". Проверьте набор параметров и нажмите кнопку "Объединить".
Перебазируйте текущую ветвь в журнал другой ветви
git rebase branchname
В представлении "Ветви Team Explorer" щелкните правой кнопкой мыши ветвь, на которую вы хотите изменить текущую ветвь, и выберите "Перебазировать на.
Выполните интерактивную перебазу последних n фиксаций
git rebase -i HEAD ~n (Linux и macOS)
git rebase -i "HEAD ^n" (Windows)
Выбор фиксации в текущей ветви
git cherry-pick commitID
Откройте представление "Изменения" в Team Explorer, а затем выберите "Просмотреть журнал" в раскрывающемся списке "Действие ". Найдите фиксацию в представлении журнала, а затем щелкните правой кнопкой мыши и выберите "Черри-выбрать"
Дополнительные сведения см. в следующих ресурсах:
Отменить
Если вы не опытный пользователь Git, будьте осторожны при использовании reset команды. Подробнее
Разделы справки?
Командная строка Git
Visual Studio
Отмена всех изменений и откат к последней фиксации
git reset --hard HEAD
Откройте представление изменений в Team Explorer. Выберите **Действия и выберите "Просмотреть журнал " в раскрывающемся списке. Щелкните правой кнопкой мыши фиксацию, в которой находится ветвь, и выберите "Сбросить и удалить изменения".
Отмена промежуточного хранения файлов, но сохранение изменений в файлах
git reset --mixed HEAD
Откройте представление изменений в Team Explorer. Выберите **Действия и выберите "Просмотреть журнал " в раскрывающемся списке. Щелкните правой кнопкой мыши фиксацию, в которой находится ветвь, и выберите "Сбросить и сохранить изменения".
Удаление неотслеченных файлов
В представлении "Изменения" в Team Explorer щелкните правой кнопкой мыши файлы, которые нужно удалить в разделе "Изменения ", помеченные как [добавить], и выберите "Удалить".
Сброс локальной ветви до последней фиксации в удаленной ветви
git reset --hard Удаленного/branchname
(например, git reset --hard origin/main )
Щелкните правой кнопкой мыши ветвь в представлении "Ветви Team Explorer" и выберите "Сброс и удаление изменений".
Отмена фиксации, отправленной в удаленный репозиторий
git revert commitID
Откройте представление изменений в Team Explorer. Выберите **Действия и выберите "Просмотреть журнал " в раскрывающемся списке. Щелкните правой кнопкой мыши фиксацию, чтобы вернуться, и выберите "Вернуть".
How do I compare different branches in Visual Studio Code 1.9?
7 Answers 7
2021 answer
- Install the GitLens extension: GitLens
- Then, Click on Source Control:
- Now, You can select any file for which you want to see the diff from Search & Compare
This has to be one of these best extensions for VSCode. Nice features! I can even edit the appropriate files once I get to this point in split mode.
Note that, there are actually two steps in step 4.: select branch A and select branch B to compare with.
Update: As of November, 2020, Gitlens appears within VSCode's builtin Source Control Panel
I would recommend to use: Git Lens.
To add some details on usage, the way I found to compare branches in Git Lens is to; Open the Explorer view (Ctrl + Shift + E), find the Git Lens group, right click the branch you want to compare and select 'Select for Compare',then right click the second branch and select 'Compare with Selected'. The results will show up as a seperate group called GitlensResults below Git Lens. There you can look at commits and compare files directly.
I learned of GitLens last year (2017) and was impressed immediately. The GitLens view at the bottom you select the branch you want to compare, and then find the branch you want to compare it against as stated above "Compare with Selected" - and then you get to select the individual files that show up as changed/added between the two. This extension is the first one I install on a new install of VSCode. I rely on it.
I would like to compare current working tree with certain branch, and edit files directly. GitLens allows me to Save as. the actual file, but I need to find it first. Is there a more convenient way? In IntelliJ's IDEA I just click an arrow and move those changes.
Best answer I was struggling to get Git History Diff to work and this one is SO EASY to use. Cannot recommend enough thanks for the info!
Now it's available:
Until now it isn't supported, but you can follow the thread for it: GitHub
Use the Git History Diff plugin for easy side-by-side branch diffing:
Visit the link above and scroll down to the animated GIF image titled Diff Branch. You'll see you can easily pick any branch and do side-by-side comparison with the branch you are on! It is like getting a preview of what you will see in the GitHub Pull Request. For other Git stuff I prefer Visual Studio Code's built-in functionality or Git Lens as others have mentioned.
However, the above plugin is outstanding for doing branch diffing (i.e., for those doing a rebase Git flow and need to preview before a force push up to a GitHub PR).
Team Explorer Visual Studio позволяет выполнять наиболее распространенные задачи Git, необходимые для повседневной работы. В меню Visual Studio "Вид" откройте Team Explorer или нажмите клавиши CTRL+, CTRL+M.
Team Explorer и командная строка Git отлично работают вместе. При внесении обновлений и выполнении команд с помощью одного интерфейса эти изменения будут отражены в другом.
Инструкции по установке Git доступны, если на компьютере не установлен Git.
Windows пользователей: если вы не используете Visual Studio, установите Git для Windows, чтобы настроить диспетчер учетных данных Git. Диспетчер учетных данных упрощает проверку подлинности с помощью Azure Repos.
В Visual Studio откройте командную строку в репозитории из представления Подключение Team Explorer. Щелкните правой кнопкой мыши локальный репозиторий и выберите команду "Открыть командную строку".
Для выполнения некоторых команд требуется наличие определенных разрешений Git в Azure Repos.
Repos
Разделы справки?
Командная строка Git
Visual Studio
Создание репозитория в новой папке
git init Foldername
Создание репозитория с кодом в существующей папке
git init Foldername
git add --all
git commit -m "Initial commit"
Создайте репозиторий из командной строки, а затем откройте представление Подключение Team Explorer и выберите "Добавить в локальные репозитории Git".
Создание репозитория из существующего решения Visual Studio
git init Foldername
cd Foldername
git add --all
git commit -m "Initial commit"
Откройте решение и выберите " Опубликовать " ( ) в строке состояния в правом нижнем углу.
Создание нового репозитория в Project
В Интернете выберите Repos (или код, если вы еще не включили новую предварительную версию навигации), а затем щелкните раскрывающийся список рядом с текущим именем репозитория и выберите новый репозиторий.
Клонирование репозитория в локальную папку
git clone URLfoldername
Выберите "Клонировать" в разделе "Локальные репозитории Git" в представлении Подключение Team Explorer
Клонирование репозитория в Project
git clone URLfoldername
Откройте представление Подключение в Team Explorer и щелкните правой кнопкой мыши репозиторий Git в Project под именем учетной записи. Выберите "Клонировать" .
Добавление существующего репозитория в Visual Studio
Откройте файл решения в Visual Studio (это автоматически добавит репозиторий в Team Explorer) или выберите "Добавить в локальные репозитории Git" в представлении Подключение
Удалите репозиторий и журнал Git, но сохраните текущую версию файлов.
Удалите скрытую папку GIT, созданную в корне репозитория.
Удалите скрытую папку Git, созданную в корневом каталоге репозитория, из обозревателя Windows или командной строки.
Удаление локального репозитория и всех файлов
Удаление папки, содержащей репозиторий, из файловой системы компьютера
Закройте все открытые решения с помощью файлов в репозитории, а затем удалите папку, содержащую репозиторий, из файловой системы компьютера.
Удаление репозитория в Project
Добавление удаленного приложения
git remote add nameurl
Откройте репозиторий с помощью представления Подключение в Team Explorer, а затем откройте представление Параметры в Team Explorer. Выберите Параметры репозитория и выберите "Добавить" в разделе "Удаленные"
Обновление удаленного приложения
git remote set-url nameurl
Откройте репозиторий с помощью представления Подключение в Team Explorer, а затем откройте представление Параметры в Team Explorer. Выберите Параметры репозитория и выберите "Изменить" в разделе "Удаленные"
Дополнительные сведения см. в следующих ресурсах:
Ветви
Разделы справки?
Командная строка Git
Visual Studio
git branch branchname
Откройте представление "Ветви " в Team Explorer, а затем щелкните правой кнопкой мыши ветвь и выберите "Создать локальную ветвь" из.
Переключение на другую ветвь
git checkout branchname
Откройте представление "Ветви " в Team Explorer, а затем дважды щелкните локальную ветвь. Кроме того, щелкните имя текущей ветви в строке состояния и выберите другую ветвь.
Создание и переключение на новую ветвь
git checkout -b branchname
Откройте представление "Ветви " в Team Explorer, а затем щелкните правой кнопкой мыши ветвь и выберите "Создать локальную ветвь" из.
Удаление локальной ветви
git branch -d branchname
Откройте представление "Ветви " в Team Explorer, а затем щелкните правой кнопкой мыши ветвь и выберите команду "Удалить". Вы должны быть извлечены в другую ветвь, отличную от ветви, которую вы хотите удалить.
Удаление удаленной ветви
git push origin --delete branchname
Откройте представление "Ветви " в Team Explorer, разверните удаленный узел с ветвью, которую требуется удалить. Щелкните правой кнопкой мыши удаленный элемент и выберите "Удалить ветвь из удаленного"
Блокировка ветви, предотвращение обновлений для нее
В Интернете выберите вкладку "Ветви " во время просмотра репозитория. Выберите . рядом с ветвью, которую нужно заблокировать, и нажмите кнопку "Заблокировать". Разблокируйте ветвь с помощью разблокировки.
Настройка ветви по умолчанию в репозитории Azure DevOps
Щелкните значок параметров в Интернете ( ), а затем перейдите на вкладку "Управление версиями ". Выберите репозиторий Git, а затем щелкните . рядом с именем ветви и выберите "Задать в качестве ветви по умолчанию".
Настройка ветви сравнения для запросов на вытягивание в репозитории Azure DevOps
В Интернете выберите вкладку "Ветви " во время просмотра репозитория. Выберите . рядом с ветвью, которую нужно заблокировать, и нажмите кнопку "Сравнить ветвь".
Дополнительные сведения см. в следующих ресурсах:
Фиксации
Разделы справки?
Командная строка Git
Visual Studio
Создание новой фиксации
git commit -m "message"
Изменение последней фиксации с промежуточными изменениями
Откройте представление "Изменения" в Team Explorer, настроите изменения, а затем выберите "Изменить предыдущую фиксацию " в раскрывающемся списке "Действия ".
Этап всех изменений файлов
Откройте представление "Изменения " в Team Explorer. Щелкните значок в списке +изменений , чтобы подготовить все изменения для следующей фиксации.
Этап изменения определенного файла
git add имя_файла
Откройте представление "Изменения " в Team Explorer. Чтобы изменить этап, щелкните правой кнопкой мыши измененный файл и выберите "Этап".
Просмотр незатегированных изменений
git status --untracked
Откройте представление "Изменения " в Team Explorer. Незапланированные изменения перечислены в разделе "Изменения ".
git rm имя_файла
git commit -m "filename"
Удалите файл с помощью Обозреватель решений, командной строки или любых других средств. Щелкните правой кнопкой мыши удаленный файл в представлении изменений Team Explorer и выберите "Этап". Выберите "Зафиксировать промежуточно", чтобы зафиксировать удаление.
git mv имя_файла
git commit -m " Перемещено имя файла"
Переместите файл из одного расположения в другое в репозитории с помощью Обозреватель решений, командной строки или других средств. Щелкните правой кнопкой мыши перемещенный файл в представлении изменений Team Explorer и выберите "Этап ". Выберите "Зафиксировать промежуточно", чтобы зафиксировать перемещение.
git tag -a имя тега -m "description"
Откройте представление "Изменения" в Team Explorer, а затем выберите "Просмотреть журнал. " в раскрывающемся списке "Действие ". Найдите фиксацию в представлении журнала, а затем щелкните правой кнопкой мыши и выберите команду "Создать тег".
Дополнительные сведения см. в разделе "Сохранение работы с фиксациями".
Сравнение файлов и версий
Разделы справки?
Командная строка Git
Visual Studio
Сравнение текущего содержимого одного файла и содержимого последней фиксации
git diff HEAD имя_файла
Щелкните правой кнопкой мыши изменение в представлении "Изменения " в Team Explorer и выберите "Сравнить с неизмененных".
Сравнение текущей версии с ветвью
git diff branchname
Щелкните правой кнопкой мыши файл в Обозреватель решений и выберите "Просмотреть журнал. ", а затем выберите последнюю фиксацию в текущей ветви и последнюю фиксацию в удаленной ветви. Щелкните правой кнопкой мыши и выберите " Сравнить"
Сравнение изменений между двумя ветвями
git diff branchname1branchname2
Щелкните правой кнопкой мыши файл в Обозреватель решений и выберите "Просмотреть журнал. ", а затем выберите последние фиксации для обеих ветвей. Щелкните правой кнопкой мыши и выберите " Сравнить"
Синхронизация изменений
Разделы справки?
Командная строка Git
Visual Studio
Скачивание новых ветвей и фиксаций из удаленного репозитория, но не слияние их с локальными ветвями
Откройте представление синхронизации из Team Explorer и выберите "Выборка".
Слияние обновлений из удаленного репозитория в локальный репозиторий
git pull remotebranchname
Во время работы с ветвью в локальном репозитории откройте представление "Синхронизация " в Team Explorer, а затем выберите "Вытягивание".
Публикация локальной ветви в удаленном репозитории
git push -u remotebranchname
Откройте представление синхронизации в Team Explorer и выберите " Опубликовать " в разделе "Исходящие фиксации".
Синхронизация локальной ветви с удаленной ветвью, отправка локальных изменений и извлечение удаленных
git pull remotebranchname
Отправка git -u remotebranchname
Откройте представление синхронизации в Team Explorer. Выберите Синхронизация.
git push --force -u origin remote_branchname
Работа из командной строки
Дополнительные сведения см. в следующих ресурсах:
Слияние и повторная база
Разделы справки?
Командная строка Git
Visual Studio
Слияние ветви с текущей ветвью
git merge branchname
В представлении "Ветви Team Explorer" щелкните правой кнопкой мыши ветвь, которую нужно объединить, и выберите "Объединить из". Проверьте набор параметров и нажмите кнопку "Объединить".
Слияние удаленной ветви с текущей ветвью
git pull origin branchname
В представлении "Ветви Team Explorer" щелкните правой кнопкой мыши удаленную ветвь, которую нужно объединить, и выберите "Объединить из". Проверьте набор параметров и нажмите кнопку "Объединить".
Перебазируйте текущую ветвь в журнал другой ветви
git rebase branchname
В представлении "Ветви Team Explorer" щелкните правой кнопкой мыши ветвь, на которую вы хотите изменить текущую ветвь, и выберите "Перебазировать на.
Выполните интерактивную перебазу последних n фиксаций
git rebase -i HEAD ~n (Linux и macOS)
git rebase -i "HEAD ^n" (Windows)
Выбор фиксации в текущей ветви
git cherry-pick commitID
Откройте представление "Изменения" в Team Explorer, а затем выберите "Просмотреть журнал" в раскрывающемся списке "Действие ". Найдите фиксацию в представлении журнала, а затем щелкните правой кнопкой мыши и выберите "Черри-выбрать"
Дополнительные сведения см. в следующих ресурсах:
Отменить
Если вы не опытный пользователь Git, будьте осторожны при использовании reset команды. Подробнее
Разделы справки?
Командная строка Git
Visual Studio
Отмена всех изменений и откат к последней фиксации
git reset --hard HEAD
Откройте представление изменений в Team Explorer. Выберите **Действия и выберите "Просмотреть журнал " в раскрывающемся списке. Щелкните правой кнопкой мыши фиксацию, в которой находится ветвь, и выберите "Сбросить и удалить изменения".
Отмена промежуточного хранения файлов, но сохранение изменений в файлах
git reset --mixed HEAD
Откройте представление изменений в Team Explorer. Выберите **Действия и выберите "Просмотреть журнал " в раскрывающемся списке. Щелкните правой кнопкой мыши фиксацию, в которой находится ветвь, и выберите "Сбросить и сохранить изменения".
Удаление неотслеченных файлов
В представлении "Изменения" в Team Explorer щелкните правой кнопкой мыши файлы, которые нужно удалить в разделе "Изменения ", помеченные как [добавить], и выберите "Удалить".
Сброс локальной ветви до последней фиксации в удаленной ветви
git reset --hard Удаленного/branchname
(например, git reset --hard origin/main )
Щелкните правой кнопкой мыши ветвь в представлении "Ветви Team Explorer" и выберите "Сброс и удаление изменений".
Отмена фиксации, отправленной в удаленный репозиторий
git revert commitID
Откройте представление изменений в Team Explorer. Выберите **Действия и выберите "Просмотреть журнал " в раскрывающемся списке. Щелкните правой кнопкой мыши фиксацию, чтобы вернуться, и выберите "Вернуть".
GitLens значок будет отображаться в навигационной панели. Нажмите здесь.
Нажмите на сравнение
Выберите ветки для сравнения
Теперь вы видите разницу. Вы можете выбрать любой файл, для которого хотите увидеть разницу.
Это должно быть одно из лучших расширений для VSCode. Приятные особенности! Я даже могу редактировать соответствующие файлы, когда доберусь до этого места в режиме разделения.
Обратите внимание, что он сравнивает только удаленную версию, локальные изменения не влияют на сравнение мгновенно
Я бы рекомендовал использовать: Git Lens .
Чтобы добавить некоторые подробности об использовании, я нашел способ сравнения веток в Git Lens: Откройте представление проводника (Ctrl + Shift + E), найдите группу Git Lens, щелкните правой кнопкой мыши ветку, которую хотите сравнить, и выберите «Выбрать для сравнения», затем щелкните правой кнопкой мыши вторую ветвь и выберите «Сравнить с выбранным». Результаты будут отображаться в виде отдельной группы под названием GitlensResults под Git Lens. Там вы можете посмотреть коммиты и напрямую сравнить файлы.
Я узнал о GitLens в прошлом году (2017) и сразу был впечатлен. В представлении GitLens внизу вы выбираете ветку, которую хотите сравнить, а затем находите ветку, с которой вы хотите сравнить ее, как указано выше «Сравнить с выбранным» - а затем вы можете выбрать отдельные файлы, которые отображаются как измененные / добавлено между двумя. Это расширение является первым, которое я устанавливаю при новой установке VSCode. Я на это полагаюсь.
Я хотел бы сравнить текущее рабочее дерево с определенной веткой и напрямую редактировать файлы. GitLens позволяет мне сохранить как . настоящий файл, но сначала мне нужно его найти. Есть способ более удобный? В IntelliJ IDEA я просто
Лучший ответ Я изо всех сил пытался заставить Git History Diff работать, и это НАСТОЛЬКО ЛЕГКО в использовании. Не могу порекомендовать достаточно, спасибо за информацию!
Теперь это доступно:
До сих пор он не поддерживается, но вы можете следить за ним: GitHub
Используйте плагин Git History Diff для удобного сравнения ветвей бок о бок:
Перейдите по ссылке выше и прокрутите вниз до анимированного изображения в формате GIF под названием Diff Branch . Вы увидите, что можете легко выбрать любую ветку и провести параллельное сравнение с веткой, в которой вы находитесь! Это похоже на предварительный просмотр того, что вы увидите в запросе на извлечение GitHub. Для других вещей Git я предпочитаю встроенные функции Visual Studio Code или Git Lens, как упоминали другие.
Однако вышеупомянутый плагин отлично подходит для выполнения различий ветвей (т. Е. Для тех, кто выполняет перебазирование потока Git и нуждается в предварительном просмотре перед принудительным подталкиванием к GitHub PR).
Читайте также: