如果有一些更新,我总是cannot lock ref 'refs/remotes/origin/master'在git pull第一次执行时得到。
完整的控制台日志如下。
D:\code\react-native\expo-multi-screen-starter>git pull
error: cannot lock ref 'refs/remotes/origin/master': is at b2459b4d5af42622cba55f9fe47ccd14fbd879bc but expected 76f11048c866cfe3e6570eaacf90db3cb7732723
From github.com:liudonghua123/expo-multi-screen-starter
! 76f1104..b2459b4 master -> origin/master (unable to update local ref)
D:\code\react-native\expo-multi-screen-starter>git pull
App.js | 19 ++++-----
src/navigation/AuthStack.js | 14 +++++++
src/navigation/RootNavigator.js | 22 ++++++++++
src/navigation/TabNavigator.js | 4 +-
src/screens/AuthLoadingScreen.js | 35 ++++++++++++++++
src/screens/HomeScreen.js | 19 +++++++++
src/screens/{LoginScreen.js => SignInScreen.js} | 54 ++++++++++++++++++++++---
7 files changed, 147 insertions(+), 20 deletions(-)
create mode 100644 src/navigation/AuthStack.js
create mode 100644 src/navigation/RootNavigator.js
create mode 100644 src/screens/AuthLoadingScreen.js
rename src/screens/{LoginScreen.js => SignInScreen.js} (61%)
D:\code\react-native\expo-multi-screen-starter>
Run Code Online (Sandbox Code Playgroud)
小智 35
您需要在 Git bash 上使用以下 Git 命令更新参考:
$ git update-ref -d refs/remotes/origin/[locked branch name]
Run Code Online (Sandbox Code Playgroud)
然后拉使用 $git pull
[locked branch name] 是由于提交 ID 不匹配而发生错误的分支的名称。
我的错误看起来有点不同:
错误:无法锁定引用 'refs/remotes/origin/releases/branch1':'refs/remotes/origin/releases' 存在;无法创建 'refs/remotes/origin/releases/branch1'
![新分支]releases/branch1 -> origin/releases/branch1(更新本地链接失败)。
执行命令后错误消失:
git remote prune origin
Run Code Online (Sandbox Code Playgroud)
顺便说一句,TortoiseGit 建议她这样做。但是这个
git update-ref -d refs/remotes/origin/releases/branch1
Run Code Online (Sandbox Code Playgroud)
命令没有帮助。
如果您正在运行 VSCode,您可能需要先将其关闭。如“问题 47141 ”
中所示microsoft/vscode
当 git-radar 在后台执行提取并且用户运行 git fetch/pull 时,会出现此问题。
Git 必须index.lock在提取期间锁定索引,因此您不能通过执行并发提取来损坏索引。
由于此锁阻止 git 修改索引,您的 git 命令失败。
您也可以按照此处提到的git remote prune origin方法进行尝试。
| 归档时间: |
|
| 查看次数: |
22876 次 |
| 最近记录: |