文档章节

git 使用技巧大全

彩虹糖tang
 彩虹糖tang
发布于 2015/08/16 11:55
字数 1121
阅读 141
收藏 9

提示各位亲,如果你不幸看到了这篇挫文,看了还是没有解决自己Git的问题,可以直接发私信联系我哦,我会第一时间想办法帮你解决~~

向远程仓库pull一个项目,提示和本地文件有冲突,需要合并才能进行后面的操作,于是这时候 ours和theirs这两个操作就派上用场了

$ git checkout --ours .                      保留自己原来的版本, 抛弃远程pull下来的版本(的所有有冲突的文件) ,或者:
$ git checkout --ours 文件名1 文件名2                         这样只针对部分文件。
$ git checkout --theirs .                    保留远程的版本,抛弃自己本地的版本


###解决冲突的终极办法

发现又一个解决方案,因为如果按照上面的方法去做的话,会发现现在的分支还是master | MERGING 这种状态,执行如下命令可以完全丢弃本地的修改:

$ git reset --hard origin/master

另外一种方法,我们不能丢弃本地修改,因为其中的某些内容的确是我们需要的,此时需要对unmerged的文件进行手动修改(手动修改的意思是打开这个文件,“手动”修改),删掉其中冲突的部分,然后运行如下命令

$ git add filename
$ git commit -m "message"


###master | MERGING解决办法

情况:远程只有一个readme.md文件,本地没有,本地只有项目的初始代码,这样push的时候肯定是失败的,因为会提示你:你的操作被拒绝,因为远程有些工作你没有,这通常是由于另外一个仓库push所致,你应该先合并远程的改变然后才能push你的代码。

于是 

git pull(已经绑定默认远程仓库的情况)

或者:

git pull origin master

这个时候git命令行中分枝状态变成了 master | MERGING,现在:

git add .
git commint -m "merge with remote"

就ok啦~~~


还有,如果我们觉得合并以后的文件内容比价混乱,想要废弃这次合并,回到合并之前的状态,那么可以运行如下命令:

    $:git reset --hard HEAD

###注意的地方

1、当删除本地文件并同时需要删除远程文件的时候,直接删除,然后 git add,git commit ,git push就可以把远程的文件删掉了。

2、当远程文件比本地文件要少,但是并没有冲突的时候,直接git pull会直接删除本地在远程上面没有的文件。


###pull失败

pull失败有很多原因,有一种是因为没有与远程分支建立连接,比如,出现错误如下:

fatal:No remote reposiatory specified.please,specify either a URL or a remote name from which new revisions should be fetched.

,解决办法是,使用如下命令建立连接:

$ git branch --set-upstream dev origin/dev

这样就将当前分支与远程 origin仓库的dev分支建立了连接。

###更新-git真不会用啊

今天做一个web app的demo,然后下班之后想传到osc git上面去。于是在osc git 创建了仓库web-app,但是在创建的同时还自动创建了其他的一些文件,比如.gitignore,licence,当时没有体会到这个会引发一个问题。

在本地git push代码的时候提示需要先pull,于是pull ,git 的命令行窗口的分支名字于是变成了master | MERGING,一看这不是我以前遇到的冲突吗?翻到这篇文章,不假思索的就执行了

$ git reset --hard origin/master

,这下完了,把本地写的代码都删掉了。。。

于是继续找方法,发现还有 git reflog这个命令,

git reflog

然后出现了第一次commit的id,这下真的是太好了

git reset id

这样就恢复文件了。

###修改远程仓库的路径

有时候配置远程仓库的时候,把路径写错了,修改办法有三种:

1. 修改命令 
git remte origin set- 

2.先删后加 
git remote rm origin 
git remote add origin git@github.com:Liutos/foobar.git 

3. 直接修改config文件

###强制推送

git push osc master -f

强制推送会将远程仓库替换成本地仓库,请谨慎操作

© 著作权归作者所有

共有 人打赏支持
彩虹糖tang
粉丝 26
博文 16
码字总数 4836
作品 0
武汉
个人站长
私信 提问
IntelliJ IDEA神器使用技巧(基于Mac OS X 10.5+)

介绍使用技巧之前,先贴两张图。 进入正文(下方截图中右边显示的就是快捷键,对应的符号有不懂的看上面两张图)。 无处不在的跳转 项目之间的跳转 (最近操作过)文件之间的跳转 按类名打开...

小怪聊职场
11/19
0
0
Android Studio 使用技巧

录制了3集 Android Studio使用技巧,适合从eclipse迁移到Android Studio的同学,大家有兴趣可以看一下! Android Studio 使用技巧大全

W320K
2016/02/22
633
1
Git命令大全

1.$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com" 2.初始化一个Git仓库,使用git init命令。 3.添加文件到Git仓库,分两步: 第一步,......

大道至精
2015/10/15
269
0
Git 12 岁了,为你送上 12 个 Git 的使用技巧!

使用这12个Git的诀窍与技巧来令你的版本控制经验更加有用。 Git,一个分布式版本控制系统,它已经成为了开源世界的源码控制默认工具,在4月7号12岁了。但是使用Git中更另人沮丧的是,你需要了...

Mr_zebra
08/03
0
0
【收藏】学习资源汇总(不断更新...)

0. 安全 1. 开源项目 2. 其他

u013553529
2017/02/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

设置虚拟机固定IP地址

1、点击虚拟机编辑找到虚拟网络编辑器 2、设置网络 3、修改接口配置文件 切换到cd /etc/sysconfig/network-scripts/下面找到对应接口的文件 添加如下内容 4、修改域名服务器 切换到 vi /etc/...

zhu_kai1
5分钟前
0
0
如何解决分布式系统数据事务一致性问题

一、关于分布式系统事务一致性问题 Java 中有三种可以的事务模型,分别称作本地事务模型(Local Transaction Model),编程式事务模型(Programmatic Transaction Model),和声明式事务模型...

hblt-j
5分钟前
0
0
弹幕,是怎样练成的?

说起弹幕看过视频的都不会陌生,那满屏充满着飘逸评论的效果,让人如痴如醉,无法自拔 最近也是因为在学习关于 canvas 的知识,所以今天就想和大家分享一个关于弹幕的故事 那么究竟弹幕是怎样...

我的卡
7分钟前
0
0
VisualBox 安装 CentOS 7.6 操作记录

20181213 VisualBox 安装 CentOS 7.6 操作记录 1、下载 官网下载地址: https://wiki.centos.org/Download找到i386 Everything (ISO), Minimal (ISO), NetInstall (ISO)选择 阿里云镜......

wwzzhh166
11分钟前
0
0
telegram_bot

new group -> 选择人 -> 填写群名 搜索BotFather -> start =========================== ou can control me by sending these commands: /newbot - create a new bot /mybots - edit your bo......

八戒八戒八戒
20分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部