Git常用命令

  1. 作者QQ:67065435 QQ群:821635552

  2. 本站内容全部为作者原创,转载请注明出处!

创建本地仓库

  1. git init

    mkdir test
    cd test
    git init
    echo 'Hello world' > README.md
    git add README.md
    git commit -m '初始化版本库'
    git remote add origin '<remote repo>.git'
    git push -u origin <branch>
    
  2. git clone

    git clone '<remote repo>.git'
    

本地存储库

  1. 本地存储库 由 本地工作区 及 本地版本库 组成

  2. 本地工作区 是 我们通过文件管理器可以直接操作的本地可见文件目录

  3. 本地版本库 由 暂存区、对象库、及 N个本地分支 组成,常用操作如下

    1. 工作区

      1. 创建文件: vim <file>
      2. 删除文件: rm <file>
      3. 修改文件: vim <file>
      4. 移动文件: mv <file1> <file2>
    2. 暂存区

      1. 删除文件: git rm --cached <file>
    3. 本地分支

      1. 创建本地分支: git branch <branch>
      2. 删除本地分支: git branch -d <branch>
      3. 删除本地分支: git branch -D <branch>
      4. 切换本地分支: git checkout <branch>
      5. 列出本地分支: git branch
      6. 创建并切到本地分支: git checkout -b <branch>
    4. 对象库 会在 暂存区、本地分支 发生变化时生成一个对象来记录这种变化

    5. 工作区↔暂存区

      1. 工作区→暂存区: git add <file>
      2. 工作区←暂存区: git checkout <file>
    6. 暂存区↔本地分支

      1. 暂存区→本地分支: git commit -m '<change intro>'
      2. 暂存区←本地分支: git reset HEAD
    7. 本地分支↔(暂存区+工作区)

      1. 本地分支→(暂存区+工作区): git checkout HEAD <file>

远程仓库

  1. git remote
    1. 显示所有远程仓库: git remote -v
    2. 本地关联远程仓库: git remote add origin '<remote repo>.git'
    3. 显示远程仓库信息: git remote show origin '<remote repo>.git'
    4. 修改远程仓库名称: git remote rename <name1> <name2>
    5. 删除远程仓库数据: git remote rm '<remote repo>.git'

文件状态

  1. git status

    1. 文件状态: git status
    2. 简洁文件状态: git status -s
  2. git diff

    1. 全部改动比对: git diff
    2. 指定文件比对: git diff <file>
    3. 与暂存区比对: git diff --cached
    4. 与暂存区指定文件比对: git diff --cached <file>

操作历史

  1. git log

    1. 正常打印: git log
    2. 简洁打印: git log --oneline
    3. 倒序打印: git log --reverse
    4. 倒序简洁打印: git log --reverse --oneline
  2. git blame

    1. git blame <file>

拉取操作

  1. git fetch origin

    1. 拉取 全部 远程改动(假设origin为'<remote repo>.git'的别名)
  2. git fetch origin master

    1. 拉取 指定分支 远程改动(假设origin为'<remote repo>.git'的别名)
  3. git merge origin/<branch>

    1. 合并 远程改动 到 当前分支(假设origin为'<remote repo>.git'的别名)
  4. git merge origin/<branch1> <branch2>

    1. 合并 远程改动 到 本地指定分支(假设origin为'<remote repo>.git'的别名)
  5. git pull

    1. 相当于 git fetch + git merge

提交操作

  1. git push

    1. 删除远程指定分支: git push origin :<branch>
    2. 本地当前分支→远程指定分支: git push origin <branch>
    3. 本地指定分支→远程指定分支: git push origin <branch1>:<branch2>
  2. git rebase

    # 1. 拉取代码仓库
    git clone '<remote repo&gt;.git'
    
    # 2. 创建本地dev分支
    git branch dev
    
    # 3. 进入本地dev分支
    git checkout dev
    
    # 4. 开发本地dev分支代码
    
    # 5. 提交本地修改到本地dev分支
    git add .
    git commit -m 'update'
    
    # 6. 拉取线上改动
    git fetch origin master
    
    # 7. 合并线上改动
    git rebase origin/master
    
    # 8. 解决冲突代码
    
    # 9. 提交本地修改到本地dev分支
    git add .
    git commit -m 'update'
    git rebase --continue
    
    # 10. 重复步骤8、9直到没有冲突
    
    # 11. 提交本地dev分支到远程master分支
    git push origin dev:master
    

Git版本回退

  1. 回退到上一个版本

    git reset --hard HEAD^
    
  2. 回退到指定的版本

    //查看版本记录
    git log
    //回退到指定的版本
    git reset --hard <commit id>
    

配置修改

  1. git config

    # 设置昵称
    git config --global user.name "<nickname>"
    
    # 设置邮箱
    git config --global user.email "<email>"
    
    # 保存密码
    git config --global credential.helper store
    
    # 不保存密码
    git config --global credential.helper 'cache --timeout=1'
    
    # 代码比对时,忽略^M
    git config --global core.whitespace cr-at-eol
    
    # CRLF都转为LF提交
    git config --global core.autocrlf true
    
    # 换行符不做转换提交
    git config --global core.autocrlf false
    
    # 换行符仅在输入时转换为LF
    git config --global core.autocrlf input
    
    # 拒绝提交包含混合换行符的文件
    git config --global core.safecrlf true
    
    # 允许提交包含混合换行符的文件
    git config --global core.safecrlf false
    
    # 提交包含混合换行符的文件时给出警告
    git config --global core.safecrlf warn
    
Copyright © 豆包嘿嘿~ 2012-∞ 冀ICP备17033181号 all right reserved,powered by Gitbook修订: 21-06-15 16:29

results matching ""

    No results matching ""