本地修改某个文件后,想把远程仓库代码git pull下来再提交,恰巧同事已经修改那文件并提交到仓库里,这时候出现
error: Your local changes to the following files would be overwritten by merge:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Please, commit your changes or stash them before you can merge.
Aborting
解决方式:
1、先将本地修改存储起来
$ git stash
这样本地的所有修改就都被暂时存储起来 。是用git stash list可以看到保存的信息:
git stash暂存修改
git stash暂存修改
其中stash@{0}就是刚才保存的标记。
2、pull内容
暂存了本地修改之后,就可以pull了。
$ git pull
3、还原暂存的内容
$ git stash pop stash@{0}
系统提示如下类似的信息:
Auto-merging c/environ.c
CONFLICT (content): Merge conflict in c/environ.c
意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突。
4、解决文件中冲突的的部分
打开冲突的文件,会看到类似如下的内容:
git冲突内容
git冲突内容
其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。
解决完成之后,就可以正常的提交了。
Git stash save "work in progress for foo feature"
当你多次使用’git stash’命令后,你的栈里将充满了未提交的代码,这时候你会对将哪个版本应用回来有些困惑,
’git stash list’ 命令可以将当前的Git栈信息打印出来,你只需要将找到对应的版本号,例如使用’git stash apply stash@{1}’就可以将你指定版本号为stash@{1}的工作取出来,当你将所有的栈都应用回来的时候,可以使用’git stash clear’来将栈清空。
git stash # save uncommitted changes
# pull, edit, etc.
git stash list # list stashed changes in this git
git show stash@{0} # see the last stash
git stash pop # apply last stash and remove it from the list
git stash --help # for more info
http://www.cnblogs.com/BeginMan/p/3543240.html
分享到:
相关推荐
本文将详细阐述“git拉代码合并流程”,以及与之相关的“git步骤”。这些操作是每个开发者日常工作中不可或缺的部分。 首先,我们需要确保本地环境已经安装了Git,并配置好用户信息。在命令行中输入以下命令: ```...
在使用IntelliJ IDEA(IDEA)进行Git操作时,可能会遇到“Git pull failed”的问题。这通常是由于本地代码有未提交的改动,且这些改动与远程仓库中的代码存在冲突导致的。Git的设计原则是避免自动合并可能引起冲突的...
从 Git 的工作流程图中可以看到,Git fetch 是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中,而 Git pull 则是将远程主机的最新内容拉下来后直接合并,即:Git pull = Git fetch + ...
在实际开发中,使用Git经常会碰到冲突的情况,例如在使用git pull代码时,碰到有冲突的情况。这种情况下,系统会提示错误信息,例如error: Your local changes to 'c/environ.c' would be overwritten by merge. ...
例如,`git pull`用于更新本地代码到最新版本,它会合并远程仓库的更改;`git push`用于将本地的改动推送到远程仓库;`git status`显示工作区的状态,帮助开发者了解哪些文件被修改或未追踪;`git commit`用来保存...
Git是世界上最流行的分布式版本控制系统,...如果你希望快速同步代码,且不介意自动合并可能带来的冲突,那么`git pull`则更为方便。了解并熟练掌握这两个命令的使用,将有助于提高你在Git中的工作效率和代码管理能力。
`git clone`用于复制远程仓库到本地,`git pull`和`git push`分别用于从远程仓库拉取和推送到远程仓库,确保本地和远程代码的一致性。 在安装Git时,例如提供的"Git-2.17.0-64-bit.exe"文件,这是Git for Windows的...
`git pull`是Git中的一个核心命令,它将远程仓库的代码更新到本地仓库,并合并到当前分支。这个操作包括了`git fetch`(获取远程仓库的最新变更)和`git merge`(将获取的变更合并到本地分支)两步。在日常开发中,...
在Git版本控制系统中,发起和执行代码合并请求是团队协作中的关键步骤,它确保了代码的集成和质量控制。下面将详细介绍这个过程。 首先,理解Git的基本操作是必不可少的。Git是一个分布式版本控制系统,用于跟踪对...
"Git源代码管理规范" 一、分支管理 在 Git 源代码管理中,分支管理是一项重要的任务。通常将一个项目的所有分支分为以下几条主线: 1. Master:顾名思义,Master 分支就是主分支的意思。Master 分支永远是 ...
当需要合并代码时,通过Git的分支和合并机制,可以轻松地将不同开发者的更改整合到一起。 Git的版本控制体现在它可以记录每次代码的变更历史。通过`git commit`命令,开发者可以将代码的当前状态保存为一个新的版本...
在Git GUI中,你可以使用“Pull”功能来获取远程仓库的最新内容,并将其与你的本地工作合并。 总的来说,Git GUI提供了一个友好的界面,使得Git的常用操作变得更加直观和简单,尤其适合不熟悉命令行或者希望提高...
本文将详细讲解如何使用 TortoiseGit 解决代码冲突以及 Git 的两种合并策略:Merge 和 Rebase。 首先,我们来看一个典型的代码冲突场景: **场景一**: 假设开发人员 A 已经有新的提交,而开发人员 B 没有执行 `...
那么,如何合理地使用 Git 并制定代码管理规范,是每个开发者和项目管理者需要关注的问题。本文将详细介绍 Git 代码管理规范,包括代码管理的基本概念、分支管理、版本号管理、代码审查等方面的内容。 一、代码管理...
在Git版本控制系统中,`git pull`是一个常见的命令,用于将远程仓库的更新合并到本地分支。然而,当多人协作时,可能会出现冲突,即不同人对同一部分代码进行了不同的修改。本文将详细介绍在遇到`git pull`冲突时的...
5. 拉取与推送:开发者可以使用`git pull`从远程仓库获取最新的代码,而`git push`则将本地的更改推送到远程仓库,实现团队成员间的代码同步。 6. 分布式特性:Git不是依赖单一中央服务器,而是每个开发者都有一个...
1. **Git基础**:首先,你需要熟悉Git的基本操作,如克隆(clone)、拉取(pull)、提交(commit)、分支(branch)和合并(merge)。这个脚本可能会用到Git的命令行工具或Python的Git库(如PyGit2或GitPython)来与...
在Git的工作流程中,Pull Request(PR)是一种常见的代码审查和合并机制,特别是在GitHub这样的平台中。`git-pull-request`是一个命令行工具,允许用户更加便捷地创建和管理GitHub上的Pull Requests,而无需离开终端...
- **git pull**:拉取服务器端最新的代码到本地。 - **git fetch --all**:从远程仓库获取最新的数据,但不合并到本地分支。 - **git reset --hard origin/master**:将本地分支重置为远程仓库的master分支状态。 - ...
### Git代码操作详解 #### 一、Git简介与工作流程 **Git** 是一个分布式版本控制系统,用于跟踪计算机文件的更改,并协调多个用户之间的工作。它最初由Linus Torvalds于2005年创建,目的是作为一种改进的工具来...