zoukankan      html  css  js  c++  java
  • git的几个小技巧

    git的几个小技巧

    分享git的几个小技巧,后面会根据使用补充。目前包括git撤销本地修改、git回退到前n个版本、git多用户提交冲突解决、git 命令简化。欢迎大家补充^_*

    1、git撤销本地修改

    1
    2
    git reset --hard origin/master
    git pull

    2、git回退到前n个版本

    如下为向前回退3个版本,git reset –hard HEAD~3

    3、git多用户提交冲突一

    场景:用户UserA修改了文件File1,用户UserB也修改了文件File1并成功merge到了服务器上,而UserA和UserB改动了同一个代码块,当UserA拉取代码时git无法merge此改动,就会出现如下错误提示,
    error: Your local changes to the following files would be overwritten by merge: cn/trinea/appsearch/MainActivity.java
    Please, commit your changes or stash them before you can merge.
    这时
    (1) 如果希望保存本地改动并拉下最新服务器代码,手动merge,使用命令如下:

    其中git stash表示备份当前工作区内容到git栈中,并使当前工作区内容与上次提交时一致,然后git pull拉取最新代码,git stash pop表示从Git栈中读取最近一次保存的内容,恢复工作区的相关内容,最后git diff表示手动merge你之前冲突的文件

    (2) 如果希望服务器上版本完全覆盖本地修改,使用如下命令回退并更新:

    4、git多用户提交冲突二
    场景:用户UserA提交了change A,没有merge,之后用户UserB提交了change B,merge成功。当merge change A时出错,会提示,

    The change could not be merged due to a path conflict.
    Please rebase the change locally and upload the rebased commit for review.

    大多数人的解决方式都是拷贝改动代码,并重拉最新代码Beyond Compare,重新提交。其实几条命令就可以搞定,gerrit上先abandon原来的提交,后执行如下命令:

    其中git reset –hard HEAD~2表示本地代码后退两级,如果有问题可以多后退几次

    git pull表示拉最新代码
    git fetch 表示获取之前没merge成功的改动到本地,后面跟的具体地址为gerrit上该change review页面选择cherry-pick、ssh后的地址,如下图红线标识

    git fetch
    git push 跟平时push一样

    5、git命令简化

    (1) 简化git push命令

    通常git push命令为git push gerrit:aaa HEAD:refs/for/bbb,其实可简化为git push。
    编辑git库下的.git/config文件,在[remote "remoteName"]下添加两行

    以后提交只需要用git push即可。

    (2) 简化git add *;git commit -a;git push命令,一步完成添加、commit、push

    第(1)步配好后,你还可以将命令git add *;git commit -a;git push添加别名到系统path中,如下操作:
    vim ~/.bash_profile,文件最后添加

    source ~/.bash_profile

    这样以后只需要gpush即可完成添加、commit、push,当然你也可以取其他的别名如gp、gitpush、gitp。

  • 相关阅读:
    rs
    stm32f767 usoc3
    stm32f767 RTT 日志
    stm32f767 标准库 工程模板
    stm32f767 HAL 工程模板
    docker tab 补全 linux tab 补全
    docker anconda 依赖 下载 不了
    docker run 常用 指令
    linux scp 命令
    Dockerfile 常用参数说明
  • 原文地址:https://www.cnblogs.com/lizhonghua34/p/4876553.html
Copyright © 2011-2022 走看看