报错提示


git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks pull origin master
From http://jira.suitbim.com:37990/scm/bigscreen/bigscreen-jt-new
 * branch            master     -> FETCH_HEAD

error: Your local changes to the following files would be overwritten by merge:
	src/views/Screen/components/InfoForm/index.vue
	src/views/Screen/components/PopupTitle/index.vue
Please commit your changes or stash them before you merge.
error: The following untracked working tree files would be overwritten by merge:
	pnpm-lock.yaml
Please move or remove them before you merge.
Aborting
Merge with strategy ort failed.
完成时带有错误,见上文。

解决

代码库存在本地更改,但是你尝试执行合并操作时出现了冲突。错误信息指出文件"src/views/PopupTest/index.vue"的本地更改会被覆盖。

为了解决这个问题,你有两个选择:

  • 提交更改:如果你想保留你在"src/views/PopupTest/index.vue"文件中所做的更改并在合并后继续使用它们,你可以先提交这些更改,然后再执行合并操作。命令如下所示:
    git add src/views/PopupTest/index.vue
    git commit -m "Committing local changes to index.vue before merge"
    git pull origin master
    提交更改后,你可以继续执行合并操作。

  • 储藏更改:如果你不想将本地更改提交,而是暂时存储这些更改并在合并后再应用它们,你可以使用"git stash"命令。执行以下命令:
    git stash
    git pull origin master
    git stash apply
    第一行命令将本地更改储藏起来,使工作目录变为干净状态,允许你执行合并操作。
    第二行命令执行合并操作。最后一行命令应用之前储藏的更改。

无论你选择哪种方法,请确保在执行合并操作之前,无论是提交还是储藏更改,都先备份你的代码以防万一出现问题。

混淆的git命令

git stash apply 和 git stash pop区别

git stash applygit stash pop 都用于应用存储的更改,但它们之间有一个关键的区别:

  1. git stash apply:这个命令会应用你最近的存储,但不会从存储列表中删除它。这意味着你可以多次应用同一个存储,如果需要的话。这在以下情况下很有用:

    • 你想多次在不同的分支或情境下应用相同的存储。
    • 你想确保应用存储后不会意外丢失它,以便稍后重新应用。

    用法示例:

    git stash apply
    
  2. git stash pop:与 apply 不同,pop 也会应用最近的存储,但它会从存储列表中删除它。这意味着一旦成功应用,存储就会被删除,不再保留在存储列表中。这在以下情况下很有用:

    • 你只需要一次应用存储,然后不再需要它。
    • 你希望在应用存储后自动清理存储列表,以保持整洁。

    用法示例:

    git stash pop
    

总结:

  • 如果你想在多个情境下应用相同的存储,或者想保留存储以备将来使用,使用 git stash apply
  • 如果你只需要一次应用存储并希望自动清理存储列表,使用 git stash pop

在实际使用中,你可以根据具体情况选择使用哪个命令,以满足你的需求。



git stash和git add区别

git stashgit add 是两个不同的命令,用于不同的版本控制操作。

git stash 命令用于将当前工作目录中的修改保存到一个临时的存储区(stash),以便你可以切换到其他分支或者进行其他操作。通过使用 git stash 命令,你可以将当前的修改暂时保存起来,并将工作目录恢复到上一个提交的状态。这在你需要切换分支、拉取远程更新或处理紧急任务时非常有用。

例如,你正在进行一些修改,但是需要切换到其他分支来处理紧急的 bug。你可以使用 git stash 暂存当前的修改,然后切换到其他分支。待处理完 bug 后,你可以切换回原来的分支,并使用 git stash applygit stash pop 命令将之前暂存的修改还原回来。

git add 命令用于将文件的修改添加到暂存区,以便在后续的提交中包含这些修改。当你对文件进行了修改后,需要执行 git add 命令将修改的文件添加到暂存区,然后再执行 git commit 命令将暂存区的内容提交到版本历史中。git add 可以用于添加新文件、更新已修改的文件或删除文件。

总结来说,git stash 用于临时保存当前的修改,并在需要时恢复回来,而 git add 用于将文件的修改添加到暂存区,以备提交到版本历史。



stages changes是和git add一样吗

“stages changes” 是一种将修改内容添加到 Git 暂存区的操作。在这种意义下,它可以被看作是和 git add 类似的操作。

在 Git 中,为了将修改提交到版本历史,需要先将修改的文件添加到暂存区,然后再执行提交操作。这个过程可以分为两个步骤:

  1. Staging(暂存): 将修改的文件或者新增的文件添加到暂存区,以准备进行下一步的提交。这一步称为 “staging changes” 或者 “staging modifications”。

  2. Committing(提交): 从暂存区中提取文件内容并保存为一个新的提交,记录了代码库在该提交时的状态。

git add 命令是 Git 提供的用于将修改的文件添加到暂存区的常用命令。通过执行 git add 命令,你可以选择性地将某个文件或者某个目录的修改添加到暂存区。例如,使用 git add file.txt 命令可以将名为 file.txt 的文件添加到暂存区。

而 “stages changes” 这个术语通常用于描述将修改的内容加入到暂存区这个过程。它可以包含使用 git add 命令,也可以包括其他的方式来完成相同的操作,例如使用 Git 图形化工具或者 IDE 中的相关功能。

哭死,我一直以为vscode这个+ 显示stage changes 是git stash原来是git add
在这里插入图片描述



还有SourceTree的暂存,也是git add
在这里插入图片描述

综上所述,“stages changes” 可以理解为将修改的内容添加到暂存区的操作,而 git add 是 Git 提供的用于执行这个操作的命令。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐