git问题

1、代码写错分支

git add .      (把所有改动暂存)

git stash     (把暂存的文件提交到git的暂存栈)

git checkout 本该提交代码的分支 

git stash pop (将暂存栈中的代码放出来)

2.代码写错分支了,还push提交了怎么办。

git reset HEAD~1  (最近一次提交放回暂存区, 并取消此次提交)

git stash  (把暂存的文件提交到git的暂存栈)

git checkout 该提交代码的分支

git stash pop

git add .  再   git commit -m  '  '

git pull  拉下代码  再 git push origin branchname

但是呢 该提交的分支是提交好了, 但是那个错的分支依旧有提交的内容 这个时候要再切换回去再提交一次如下:

git checkout branchname 此时是 不该提交的那个分支

git log 看下 因为reset的缘故 本地的提交已经不见了,但远端是存在的

git push origin branchname -f  (把不该上去的文件回退掉)

3 error: Your local changes to the following files would be overwritten by merge:.......

Please commit your changes or stash them before you merge.

1 如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:

git stash

git pull

git stash pop

然后可以使用git diff -w +文件名 来确认代码自动合并的情况.

2 反过来,如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:

git reset --hard

git pull

其中git reset是针对版本,如果想针对文件回退本地修改,使用

error: You have not concluded your merge (MERGE_HEAD exists).

git add .   git commit -m 'log'. 再git pull 一下 看是否成功



4记录一次操作git 的愚蠢行为(本地代码只 git add 过,没有 commit ,push 过,然后版本回退 导致本地代码丢失)

这个情况就比较麻烦了, 作死的操作 

git fsck --lost-found,然后到.git/lost-found目录下找找看有没有你丢失的文件 实在没有的话本人无解 所以 记住这样一句话 慎重 慎重 慎重  提交 提交 提交

1 Pulling is not possible because you have unmerged files.

在git pull的过程中,如果有冲突,那么除了冲突的文件之外,其它的文件都会做为staged区的文件保存起来


5 Git操作的过程中突然显示Another git process semms to be running in this repository, e.g. an editor opened by ‘git commit’. Please make sure all processes are terminated then try again. If it still fails, a git process remove the file manually to continue…

就是git被另外一个程序占用,重启机器也不能够解决。原因在于Git在使用过程中遭遇了奔溃,部分被上锁资源没有被释放导致的。解决方案:进入项目文件夹下的 .git文件中(显示隐藏文件夹或rm .git/index.lock)删除index.lock文件即可。

6 [!] The file `/Users/xxx/Desktop/GitAPPTest/xxx/xxx.xcodeproj/project.pbxproj` is in a merge conflict.

xxx代表目录 此问题是工程文件冲突,一般都是出现在拉取代码后出现这个情况,找到 project.pbxproj 显示包内容 找到冲突的部分 删除三个 <<<   ==== >>>> 三个标示符号 即可解决冲突。

7 fatal: Unable to create '/Users/yyj/Desktop/Git开源管理/gitcc1/xxx/.git/index.lock': File exists.

删除 index.lock 文件即可

8  git add .  如果没有commit 文件都已加到缓存区 这时想反悔 有些文件不想提交 

此情况 git reset HEAD +文件名即可。 如果都想撤销add的操作 git reset HEAD 即可

如果已经commit了 :git log 查看提交的id 然后撤销到上个版本 git reset +id 即可 这时查看一下文件状态 git status 即可  这些操作不会导致你的代码丢失。

8.合并后,执行 git pull 或者 push 或者 merge 命令操作的时候,都会出现了以下错误提示

问题根源

问题原因:

问题出现的原因很好发现,因为在错误提示中已经说明,但是因为英文太渣,习惯性忽略。。。这真的不是一个好习惯。

以下是英语渣博主的大概翻译:

当打开 git/MERGE_MSG 文件的时候,发现有 git/MERGE_MSG.swp 文件的存在,并且从时间上来看, MERGE_MSG 比 MERGE_MSG.swp 要更新。

造成这种情况的原因有以下两种可能

(1)另外一个应用正在打开此文件。这种情况,要小心修改,防止出现同一个文件,两种修改版本的出现。完了之后可以选择退出或者更加小心的继续 。

(2)编辑该文件的时候,该文件不正常关闭了。这种情况,如果需要,可以选择 “:recover” or “vim -r project-path/.git/MERGE_MSG” 命令来恢复文件关闭前的修改。

上述两种情况确认完毕后,删除 MERGE_MSG.swp 文件,就可以避免该错误提示。

关于 MERGE_MSG.swp 文件的说明:

.swp 文件和 git 无关,在使用 VIM 开始编辑某文件时,都会产生该文件对应的 .swp 文件。正常的退出,VIM 会自动删除此类型文件,非正常退出情况下, VIM 不会删除 ,.swp 文件会作为文件编辑状态的内容备份。

其实多次打开多次不正常关闭,会一直产生 .sw* 文件

第一步:回到合并前状态

git merge --abort // 中止合并

rm .git/.MERGE_MSG.sw* //删除 vim 非正常关闭产生的文件

第二步:重新合并

合并提交信息页面,使用 :wq! 或者 :q! 正常退出 VIM ,就能正常合并啦。

如果 .git/MERGE_* 文件中 只有 MERGE_MSG 文件的话,不用执行 git merge -abort ,直接删除 .MERGE_MSG.sw* 文件就好。

8.git pull 时提示错误 导致NO scheme 

找到 xxxx.xcodeproj 展示包内容 找到 project.pbxproj 编辑器打开 查找冲突 搜索 <<< 或者 === 或者 >>> 找到删除即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,655评论 4 54
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,645评论 9 163
  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,458评论 1 26
  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 3,500评论 0 13
  • git 使用笔记 git原理: 文件(blob)对象,树(tree)对象,提交(commit)对象 tree对象 ...
    神刀阅读 3,759评论 0 10