zoukankan      html  css  js  c++  java
  • git使用技巧集合(持续更新中)

    git使用技巧集合(持续更新中)

    在团队协作中,git、svn等工具是非常重要的,在此只记录一些git使用过程中遇到的问题以及解决方法,并且会持续更新。

    一、首先记一下整个一个提交过程

    1、git pull:先拉取最新代码,有冲突就解决,防止覆盖别人的代码

    2、git add -A:将某文件或文件夹从工作区添加到暂存区(具体git add . 、git add -U、git add -A的区别,请继续往下看)

    3、git commit -m '注释':将add的文件从暂存区提交到本地

    4、git push:将文件从本地版本库的分支推送到远程服务器上对应的分支

    二、再记录一下平时用到的命令

    1、git commit之后,还没push,如何撤销?

    使用命令git reset --soft HEAD^即可,这时修改的文件还在,只是本地去掉这次commit记录而已, 尽量不要使用命令git reset --hard HEAD,因为这样撤销是非常彻底的,本地文件也会删除(HEAD是指向最新的提交,上一次提交是HEAD^,可以写成 HEAD~1,上上次是HEAD^^,也可以写成HEAD~2 ,依次类推)

    补充:关于git reset 参数的介绍

    --mixed 

     意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作

     这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

      --soft  

     不删除工作空间改动代码,撤销commit,不撤销git add . 

      --hard

     删除工作空间改动代码,撤销commit,撤销git add .  

    注意完成这个操作后,就恢复到了上一次的commit状态。

    2、使用“抽屉”解决冲突

    当pull代码的时候,如果发现与本地冲突了怎么办,如果冲突的文件少还好说,记住自己改的地方,revert掉就行了,pull之后,再加上就行了,但是如果改的多的话,revert就太费劲了,此时,就可以使用git的抽屉,具体代码如下,不做太多描述

     1 1.先将本地修改存储起来
     2 使用git stash命令,这样本地的所有修改就都被暂时存储起来。 3 2.再次拉取代码
     4 git pull
     5 3.还原暂存的内容
     6 git stash pop
     7 4.解决冲突
     8 在存在冲突的文件中,Updated upstream 和=====之间的内容为拉取下来的代码,=====和stashed changes之间的内容就为本地修改的代码。解决完成之后,就可以正常的提交了。
     9 5.删除stash
    10 使用git stash drop stash@{0}命令,如果不加stash编号,默认的就是删除最新的,即编号为0的。或者git stash clear命令,清除所有stash。

    再列举一次stash常用命令:

     1 常用git stash命令:
     31)git stash save "save message"  : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。
     52)git stash list  :查看stash了哪些存储
     73)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
     94)git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show  stash@{$num}  -p ,比如第二个:git stash show  stash@{1}  -p
    115)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1} 
    136)git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
    157)git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储
    178)git stash clear :删除所有缓存的stash

     3、查看当前项目的状态

    git status

    会列出项目中哪些文件进行了修改,modified 文件名

    4、查看提交日志

    git  log

    出现一个列表,列出 commit的作者及日期等数据

    5、Git查看对比当前文件与工作区文件

    git diff:尚未暂存的文件更新了哪些部分,指全部修改尚未暂存的文件

    git diff HEAD -- 'src/pages/login/login.vue':显示工作版本(Working tree)和HEAD的差别,不加文件名也表示全部

    6、git add .和git add -U和git add -A的区别

      git add -A  提交所有变化

      git add -u  提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)

      git add .  提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

     7、查看配置

    查看系统config:git config --system --list

    查看当前用户(global)配置:git config --global  --list

    查看当前仓库配置信息:git config --local  --list

  • 相关阅读:
    YII框架实现排序
    YII2 实现登录时候修改最新登录时间
    YII框架下实现密码修改
    json在PHP中应用技巧
    更换Python pip库镜像地址
    Python3创建RIDE桌面快捷方式的另一种方法
    谈谈测试人员的基本素养
    《微软的软件测试之道》阅读笔记
    PPT如何一页多张打印且铺满整个页面
    Linux 在线模拟器
  • 原文地址:https://www.cnblogs.com/cyfblogs/p/11139781.html
Copyright © 2011-2022 走看看