Git 实用操作

删除文件夹下的所有 .git 文件
$ find . -name ".git" | xargs rm -Rf

修改.gitignore后生效
$ git rm -r --cached . #清除缓存;
$ git add . #重新trace file
$ git commit -m "update .gitignore" #提交和注释
$ git push origin master #可选,如果需要同步到remote上的话
注意 git rm -r --cached 要忽略的文件

pull会使用git merge导致冲突,需要将冲突的文件resolve掉
$ git add - u
$ git commit
然后,git pull.

git pull的时候遇到这样的问题:
The following untracked working tree files would be overwritten by merge balabala...
解决方法:
$ git clean -d -fx
备注:会删除掉没有add到仓库的文件,操作记得慎重,以免改动文件的丢失。本质上就是操作仓库中没有被追踪的本地文件
以上操作,具体解释如下
$ git clean -f -n # 1
$ git clean -f # 2
$ git clean -fd # 3
$ git clean -fX # 4
$ git clean -fx # 5
(1): 选项-n将显示执行(2)时将会移除哪些文件。
(2): 该命令会移除所有命令(1)中显示的文件。
(3): 如果你还想移除文件件,请使用选项-d。
(4): 如果你只想移除已被忽略的文件,请使用选项-X。
(5): 如果你想移除已被忽略和未被忽略的文件,请使用选项-x。

git add . 撤回
$ git reset HEAD . #撤销所有的已经add的文件
$ git reset filename #撤销某个文件或文件夹

git reset 和 git checkout 的区别
https://segmentfault.com/a/1190000006185954

误删除了文件找回,如eventbus.jar
$ git reset HEAD libs/eventbus.jar
$ git checkout -- libs/eventbus.jar

Tag的使用

1、使用git checkout tag即可切换到指定tag,例如:git checkout v0.1.0
2、git checkout -b branch tag创建一个基于指定tag的分支,例如:git checkout -b tset v0.1.0  这个时候就会在分支上进行开发,之后可以切换到主线合并
3、在本地仓库给工程打标签 git tag [tagname]
4、同步标签到远程仓库 
    a)、push 单个tag,git push origin [tagname],比如:git push origin v1.0
    b)、push 所有tag,git push [origin] --tags, 比如:git push --tags 或者 git push origin --tags
5、删除tag
    a)、本地: git tag -d v1.1
    b)、远程: 
              git push origin --delete tag v1.1
              git push origin :v1.1
              git push origin :refs/tags/v1.1

本文讲的是把Git在最新2.9.2,合并pull两个不同的项目,出现的问题如何去解决fatal: refusing to merge unrelated histories

我在Github新建一个仓库,写了License,然后把本地一个写了很久仓库上传。

先pull,因为两个仓库不同,发现refusing to merge unrelated histories,无法pull

因为他们是两个不同的项目,要把两个不同的项目合并,git需要添加一句代码,在git pull,这句代码是在git 2.9.2版本发生的,最新的版本需要添加--allow-unrelated-histories

假如我们的源是origin,分支是master,那么我们 需要这样写git pull origin master ----allow-unrelated-histories需要知道,我们的源可以是本地的路径

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. GIT命令 git init在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个re...
    江边一蓑烟阅读 826评论 0 0
  • 查看、添加、提交、删除、找回,重置修改文件 git help # 显示command的help git sho...
    Swiftor阅读 2,139评论 0 2
  • 开始: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/...
    草根老张阅读 866评论 0 50
  • 一、Git学习总结的命名 初始化一个Git仓库。 添加文件到Git仓库步骤分两步:使用命令git add <fil...
    Cheriez阅读 464评论 0 1
  • 声明:这篇文章来源于廖雪峰老师的官方网站,我仅仅是作为学习之用 Git简介 Git是什么? Git是目前世界上最先...
    横渡阅读 3,987评论 3 27