• git常规操作命令整理



    目录

    1 配置

    1.1 配置仓库参数

    2 提交与修改

    2.1 初始化仓库

    2.2 添加文件到暂存区

    2.3 添加提交文件到仓库

    2.4 回退版本

    2.5 删除文件

    2.6 移动、重命名文件

    2.7 查看仓库当前状态

    2.8 比较文件差异

    2.9 查看库文件

    3 日志

    3.1 查看日志

    3.2 查看指定文件日志

    4 分支管理

    4.1 分支创建与删除

    4.2 分支切换

    4.3 分支合并

    5 远程操作

    5.1 拷贝项目

    5.2 远程库

    5.3 检出远程库文件并合并

    5.4 提交文件到远程库


    ---配置---

    配置仓库参数:

    git config --[全拼参数] [配置文件属性] <属性值>
    --global: 不加参数只对当前仓库有效
    --list: 查看config配置
    例子:
    $ git config --global user.name "2018246490" #设置user.name属性值
    $ git config --global user.email "2018246490@qq.com" #设置user.email属性值
    $ git config --list #查看全部属性

    ---提交与修改---

    初始化仓库:

    git init <目录>
    例子:
    $ git init #将当前文件夹初始化为git仓库
    $ git init /e/demo #将/e/demo文件夹初始化为git仓库

    添加文件到仓库:

    git add <文件>
    例子:
    $ git add *.c   #添加 .c结尾的文件
    $ git add README #添加README文件或文件夹

    暂存区文件提交到本地仓库:

    git commit <文件> -[缩写参数] <参数值>
    -a: 修改文件后不需要执行 git add 命令,直接来提交
    -m: 提供注释
    例子:
    $ git commit -m '第一次提交' #提交全部缓存区文件到本地库
    $ git commit a.html b.html -m '第一次提交' #提交缓存区文件a.html b.html文件到本地库
    $ git commit -am '直接提交文件' #全部文件直接从工作区提交到本地库(缓冲区也进行了更新)

    回退版本:

    会导致与远程库版本不一致问题,需要先pull远程项目,再push,直接push -f 会导致远程库版本记录与本地一致,从而丢失其他人员的提交记录。
    git reset --[全拼参数] <版本号>
    --soft: 本地库回退到指定版本,工作区与缓存区不变
    --mixed: 默认,本地库与缓存区回退到指定版本,工作区不变
    --hard: 本地库、缓存区、工作区回退到指定版本
    例子:
    $ git reset --soft HEAD~3  #本地库回退到上上上一个版本
    $ git reset HEAD~3  #本地库与缓存区回退到上上上一个版本
    $ git reset --hard HEAD~3  #本地库、缓存区与工作区回退到上上上一个版本
    $ git reset --hard bae128  #本地库、缓存区与工作区回退到bae128版之前
    $ git reset --hard gitee/master  #将本地的状态回退到和远程库gitee/master的一样
    HEAD说明:
    • HEAD 表示当前版本
    • HEAD^ 上一个版本
    • HEAD^^ 上上一个版本
    • 以此类推...
    • HEAD~0 表示当前版本
    • HEAD~1 上一个版本
    • HEAD^2 上上一个版本
    • 以此类推...

    删除文件:

    git rm -[缩写参数] --[全拼参数] <文件>
    --cached: 删除暂存区文件
    -f: 强行删除文件
    -r: 递归删除,删除目录下的全部目录与文件
    例子:
    $ git rm index.html  #删除工作区、缓存区index.html文件
    $ git rm --cached index.html  #删除、缓存区index.html文件
    $ git rm -f index.html  #强行删除工作区、缓存区index.html文件
    $ git rm -r /a  #删除a目录下的全部文件

    移动、重命名文件:

    git mv -[缩写参数] <文件> <新文件>
    -f: 强行修改文件
    例子:
    $ git rm index.html b.html  #修改index.html文件为b.html
    $ git rm -f index.html b.html  #如果b.html存在则强制修改index.html文件为b.html

    查看仓库当前状态:

    git status -[缩写参数]
    -s: 获取简短的输出结果 可不加

    比较文件差异:

    git diff --[全拼参数] <文件名称>
    --cached/staged: 缓存区文件与上一次提交的差异 ,默认是工作区文件与缓冲器文件对比
    例子:
    $ git diff README.md  #对比README.md文件工作区与缓冲区的差异
    $ git diff --cached README.md  #对比README.md文件缓冲区与上次提交的差异

    查看库管理文件:

    git ls-files

    ---日志---

    查看日志:

    git log --[全拼参数]
    --oneline: 简洁查看历史记录
    --graph: 查看历史中什么时候出现分支、合并
    --reverse: 逆向查看所有日志
    --author: 查看指定用户的日志
    例子:
    $ git log --oneline  #简洁查看全部历史记录
    $ git log --reverse --oneline  #简洁逆向查看全部历史记录
    $ git log --graph   #查看什么时候出现分支、合并
    $ git log --author=Linus --oneline -5  #查看Linus用户的相关日志

    查看指定文件日志:

    git blame <文件>
    例子:
    $ git blame README.md  #查看README.md文件历史记录

    ---分支管理---

    分支创建与删除:

    git branch -[缩写参数] <分支名称>
    -v: 分支的最新提交信息
    -d: 删除分支
    例子:
    $ git branch  #查看全部分支
    $ git branch -v  #查看全部分支与它们的最新提交信息
    $ git branch main  #添加main分支
    $ git branch -d main  #删除main分支

    分支切换:

    git checkout <分支名称>
    例子:
    $ git checkout main  #切换到main分支

    分支合并:

    git merge <分支名称>
    例子:
    $ git merge main  #将main分支合并到当前分支

    ---远程操作---

    拷贝项目:

    git clone <远程库链接> <本地目录>
    例子:
    $ git clone git@github.com:chloneda/demo.git  #将远程库克隆到当前目录

    远程库:

    git remote [操作命令] <远程主机名> <操作命令参数> -[缩写参数]
    show: 显示远程
    add: 添加远程库
    rename: 修改远程主机名称
    rm: 删除远程主机
    -v: 关联远程库的详细信息
    例子:
    $ git remote -v  #查看远程库详细信息
    $ git remote show https://github.com/tianqixin/runoob-git-test  #显示某个远程仓库信息
    $ git remote add github git@github.com:chloneda/demo.git  #添加主机名为github远程库
    $ git remote add gitee git@gitee.com:chloneda/demo.git  #添加主机名为gitee远程库
    一个本地库可以添加多个远程库
    $ git remote rename gitee gitee2  #修改仓库名
    $ git remote rm github  #删除github远程库

    检出远程库文件并合并:

    git pull <远程主机名> <远程分支名>:<本地分支名> --[全拼参数]
    --allow-unrelated-histories: 允许不相关的历史提交,并强行合并(远程库覆盖本地)
    例子:
    $ git pull github main:main 或 $ git pull github main  #拉取github/mian分支与本地mian分支合并
    $ git pull gitee master:main  #拉取gitee/master分支与本地mian分支合并
    $ git pull github main --allow-unrelated-histories  #拉取github/mian分支与本地mian分支强行合并

    提交文件到远程库并合并:

    git push --[全拼参数] <远程主机名> <本地分支名>:<远程分支名>
    --force: 忽略本地域远程库差异强行提交合并(本地覆盖远程库)
    例子:
    $ git push github main:main 或 $ git push github main  #提交本地mian分支与github/mian分支合并
    $ git push gitee main:master  #提交本地mian分支与gitee/master分支合并
    $ git push --force gitee main:master  #强行提交本地mian分支与gitee/master分支强行合并

  • 相关阅读:
    VS工作目录,输出目录
    Google的C++开源代码项
    C++文件读写
    深拷贝浅拷贝
    Efficient Graph-Based Image Segmentation
    Graph Cut 简介
    Graph Cut
    "GrabCut" - Interactive Foreground Extraction using Iter
    EM算法
    Python图像处理库(2)
  • 原文地址:https://www.cnblogs.com/i_am_me/p/15668081.html
Copyright © 2020-2023  润新知