• Git基础知识学习常用命令一


    常用命令

    $ git status  工作区域与仓库保持一致
    
    step2: 暂存状态
    $ git add --all # 当前项目下的所有更改
    $ git add .  # 当前目录下的所有更改
    $ git add xx/xx.py xx/xx2.py  # 添加某几个文件
    
    Step3: commit 
    $ git commit -m"<这里写commit的描述>" 已提交 状体变为已提交
    
    Step4 :  git push,变为已推送状态
    
    $ git push -u origin master # 第一次需要关联上
    $ git push # 之后再推送就不用指明应该推送的远程分支了
    $ git branch # 可以查看本地仓库的分支
    $ git branch -a # 可以查看本地仓库和本地远程仓库(远程仓库的本地镜像)的所有分支
    
    分支下的常用操作如下:
    例如:
    $ git status
    $ git add -a
    $ git status
    $ git commit -m 'xxx'
    $ git pull --rebase
    $ git push origin xxbranch
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    代码撤销和同步

    $ git diff # 列出所有的修改
    $ git diff xx/xx.py xx/xx2.py # 列出某(几)个文件的修改
    
    $ git checkout # 撤销项目下所有的修改
    $ git checkout . # 撤销当前文件夹下所有的修改
    $ git checkout xx/xx.py xx/xx2.py # 撤销某几个文件的修改
    $ git clean -f # untracked状态,撤销新增的文件
    $ git clean -df # untracked状态,撤销新增的文件和文件夹
    
    # Untracked files:
    #  (use "git add ..." to include in what will be committed)
    #
    #	xxx.py
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    已暂存 未提交

    这个时候已经执行过git add,但未执行git commit,但是用git diff已经看不到任何修改。 因为git diff检查的是工作区与暂存区之间的差异。

    $ git diff --cached # 这个命令显示暂存区和本地仓库的差异
    
    $ git reset # 暂存区的修改恢复到工作区
    $ git reset --soft # 与git reset等价,回到已修改状态,修改的内容仍然在工作区中
    $ git reset --hard # 回到未修改状态,清空暂存区和工作区
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    PS:git reset --hard 操作 等价于 git reset 和 git checkout 2步操作

    已提交 未推送

    执行完commit之后,会在仓库中生成一个版本号(hash值),标志这次提交。之后任何时候,都可以借助这个hash值回退到这次提交。

    $ git diff   # 比较2个分支之间的差异
    $ git diff master origin/master # 查看本地仓库与本地远程仓库的差异
    
    $ git reset --hard origin/master # 回退与本地远程仓库一致
    $ git reset --hard HEAD^ # 回退到本地仓库上一个版本
    $ git reset --hard  # 回退到任意版本
    $ git reset --soft/git reset # 回退且回到已修改状态,修改仍保留在工作区中。
    
    
    
    推送到远程
    $ git push -f orgin master # 强制覆盖远程分支
    $ git push -f # 如果之前已经用 -u 关联过,则可省略分支名
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    慎用,一般情况下,本地分支比远程要新,所以可以直接推送到远程,但有时推送到远程后发现有问题,进行了版本回退,旧版本或者分叉版本推送到远程,需要添加 -f参数,表示强制覆盖。

  • 相关阅读:
    Laplacian算子详解及例程
    R语言混合效应逻辑回归(mixed effects logistic)模型分析肺癌数据
    神经网络开发
    GitHub的下载超时问题
    已解决java.beans.IntrospectionException: 在Java Beans中内省过程失败的正确解决方法,亲测有效!!!
    Opencv与python实现多目标跟踪 (一) - PaddleDetection目标检测
    基于指数趋近律的机器人滑模轨迹跟踪控制算法及MATLAB仿真
    java毕业设计毕业生就业管理系统mybatis+源码+调试部署+系统+数据库+lw
    【idea插件开发】从0入门idea插件开发,idea插件开发教程,如何开发idea插件
    17.讲跳表:为什么Redis一定要用跳表来实现有序集合
  • 原文地址:https://blog.csdn.net/king9666/article/details/134326275