kwi*_*iri 58 git-pull git-revert git-checkout visual-studio-2015 azure-devops
我很难做到拉origin.我一直在:
"无法提取,因为存在未提交的更改.请在再次提取之前提交或撤消更改.有关详细信息,请参阅"输出"窗口.
这也适用于切换分支.我得到了类似的消息,但这并不总是发生.
我正在使用Visual Studio 2015 Update 1和Visual Studio Team Services Git.在我的机器上,我有一个本地master分支和开发分支.每次我切换到master然后我做拉,我得到错误信息.我已经采取了存储和删除存储(命令行),有时我使用TortoiseGit做拉,它的工作原理.
奇怪的是,即使我尝试使用TortoiseGit还原(在未提交的文件上)它表明它已成功还原(我已经尝试过Visual Studio撤消,没有任何反应).试图再次拉动,仍然是同样的问题.未提交的文件将存在,有时当我这样做时,git status它说没有什么可以提交的.
只需注意:即使从分支切换到也可能发生这种情况master.在这种情况下,无法进行未提交的更改,因为我无法在第一时间切换.
我还是Git的新手,但我想知道是否有更好的方法来解决这个问题,因为我想使用一个环境而不是在每个任务的不同环境之间切换; 我更容易从Visual Studio中完成所有工作.我已经读过了:
VS中的TFS/GIT无法切换到master,因为存在未提交的更改
UPDATE
看起来这个问题与行结尾有关.
通过执行a,git diff -R您可以看到已添加行结尾,"^ M",并且它是不同的.删除* text=autoin gitattributes(然后检查更改)并再次将其重新打开,以便gitattributes不会发出需要提交的自身更改信号似乎有帮助,不会有任何更改.
Csa*_*oth 62
对我来说,我没有任何未提交的更改或任何未跟踪的文件,Visual Studio 2015仍然显示警告.
Git Bash(或你最喜欢的Git UI)git pull (或在Git UI上执行pull)vi打开(或默认的合并解析工具):wq然后按ENTER在vi(或冷静处理合并工具,弹出可选),希望这样可以解决它,就像我.我通过指示关闭并打开解决方案和Visual Studio,逐步添加了一个更安全的步骤.这可能过于谨慎,也许重新加载就足够了.这个症状可能是Visual Studio Git集成部分的错误,也许它将来会被解决.
Tec*_*hat 10
键入git status在该目录中打开的命令行.如果有红色和/或绿色文本,您已经更改了一些内容而没有添加和提交.无论是恢复的文件(这样做git checkout -- <file>),或添加并提交(做git add --all,然后git commit -m "commit message").然后,您可以查看分支机构或其他任何您想要做的事情.
通过在命令提示符中转到项目的工作目录来尝试使用这些命令.
git add -A
git commit -m "your message"
git fetch origin master
git pull origin master
git push origin master //To push to the Git system
Run Code Online (Sandbox Code Playgroud)
我在 Visual Studio 2017 内部版本 15.5 中遇到了这个问题,并且进入团队资源管理器设置为我修复了这个问题?全局设置并将“在获取期间修剪远程分支”和“在拉动时重新定位本地分支”设置为True。
MS 也有这里的说明:https : //docs.microsoft.com/en-us/azure/devops/repos/git/git-config?tabs=visual-studio&view=vsts#prune-remote-branches-during-fetch当您意识到“我们建议在全局级别将此选项设置为 True”时,就会出现面目全非的时刻。不是这些项目的默认设置。
如果您有单独的生成服务器并且解决方案在编译器上频繁更新 NuGet,则会出现此问题的另一个实例。第一个更新 NuGet 包并同步 repo 的人不会有问题,但如果其他人在本地尝试更新,则在执行同步之前,将弹出此消息并且 VS 将不允许您拉取或推送代码。为了防止这个问题,每个人都应该养成在本地进行任何更新之前进行同步的习惯。一旦遇到,我们发现解决它的最佳方法是隐藏您需要保留的任何未提交代码(https://marketplace.visualstudio.com/items?itemName=vii.GitStashExtension),然后将您的存储库重置为当前头.
当存在尚未在本地提交的文件/更改时,通常会发生此问题,但它包含在pull操作中.
例如,您直接从本地Git存储库文件夹(在Visual Studio外部)添加新文件"test.txt".此文件可能列在"未跟踪文件"选项中,因此在提交更改时,不会跟踪和提交此文件.然后另一个人也创建一个具有相同路径的"test.txt"并提交并推送它.现在,当您执行pull操作时,pull动作中包含"test.txt"文件,您将收到错误消息,指出存在未提交的更改.因此,您需要检查是否有未提交的文件/更改并在提取之前提交它们.
有时甚至与我发生这种情况。如果您使用的是Visual Studio,则有一种简单的方法可以使您的方法变得清晰。
对于Visual Studio 2013及更高版本,请按照以下说明进行操作:
git reset并点击Enter而已。Git将被重置,然后您将能够轻松拉出您的请求。
VS2015:工具> Nuget软件包管理器>软件包管理器控制台。像魅力一样工作。谢谢。
| 归档时间: |
|
| 查看次数: |
63807 次 |
| 最近记录: |