Git指令学习

146 阅读2分钟
  1. 初始化本地仓库:git init

  2. 设置签名(可有可无,为了区分开发人员,与其他账号密码无关):

    1. 项目级别/仓库级别:仅在当前本地库范围内有效

      1. git config user.name hwt_pro
      2. git config user.email 1070359898@qq.com
    2. 系统用户级别:登录当前操作系统的用户范围(通常用这个)

      1. git config --global user.name hwt_glb
      2. git config --global user.email 1070359898@qq.com
    3. 优先级别:

      1. 二者都有时,就近原则,项目级别优先于系统用户级别
      2. 如果只有系统用户级别的签名就用系统用户级别的签名
      3. 二者都没有是不允许的
  3. 基本操作:

    1. 常用:

      1. 查看状态:git status
      2. 将工作区的“新建/修改”添加到暂存区:git add 文件名
      3. 将刚才上传到缓存区的文件撤回:git rm --cached 文件名
      4. 将暂存区的内容提交到本地库:git commit -m "备注信息" 文件名
    2. 查看历史记录:

      1. git log
      2. git log --pretty=oneline
      3. git log --oneline
      4. git reflogPS:HEAD@{移动到当前版本需要多少步}
    3. 版本前进与后退(与git reflog搭配使用):

      1. (推荐使用)基于索引值操作:git reset --hard 索引值

      • 使用^符号(只能后退):

        • git reset --hard HEAD^
        • 注:一个^表示后退一步,n个表示后退n步
      • 使用^符号(只能后退):

        • git reset --hard HEAD~n

        • 注:n表示后退n步

      1. reset 命令的三个参数对比 :

        1. --soft 参数:仅仅在本地库移动 HEAD 指针

        • --mixed 参数:

          • 在本地库移动 HEAD 指针
          • 重置暂存区
        • --hard 参数:

          • 在本地库移动 HEAD 指针
          • 重置暂存区
          • 重置工作区
    4. 删除文件找回:

      1. 前提:删除前,文件存在时的状态提交到了本地库

      2. 操作:git reset --hard [指针位置]

        1. 删除操作已经提交到本地库:指针位置指向历史记录
        2. 删除操作尚未提交到本地库:指针位置使用 HEAD
    5. 比较文件差异:

      1. 将工作区中的文件和暂存区进行比较:git diff [文件名]
      2. 将工作区中的文件和本地库历史记录比较:git diff [本地库中历史版本][文件名]
      3. 不带文件名为比较多个文件
  4. 分支:

    1. 查看分支:git branch -v

    2. 创建分支:git branch [分支名]

    3. 切换分支:git checkout [分支名]

    4. 合并分支:

      1. 切换到接受修改的分支上(被合并,增加新内容):git checkout [接受修改的分支名]
      2. 执行合并:git merge [有新内容的分支名]
    5. 解决冲突:

      1. 编辑文件,删除特殊符号

      2. 把文件修改到满意的程度,保存退出

      3. git add [文件名]

      4. git commit -m "日志信息"

        • 注意:这里不能带文件名