网站首页 文章专栏 Git 使用文档
Git 使用文档
编辑时间:2019-10-23 21:38:43 作者:原点 浏览量:417
基础概念

  • Git本地仓库包含代码库还有历史库,在本地的环境开发就可以记录历史,而SVN的历史库存在于中央仓库,每次对比与提交代码都必须连接到中央仓库才能进行
  • 分布式版本控制的每个节点都是完整仓库,CVS及SVN都是集中式的版本控制系统
  • 工作区 working directory, 暂存区 stage(index), 版本库 mater 分支
参考教程

常用指令

git add

  • 说明:把文件修改添加到暂存区 (stage)
  • 参数
    • A 提交所有变化
    • u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
    • . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
    • f 强制提交忽略的文件

git commit

  • 说明:把暂存区的所有内容提交到当前分支 (git commit只负责把暂存区的修改提交了)

git push

  • 说明:把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程
  • 参数
    • -force 强制

git status
git log

  • 参数
    • —graph #终端上的图形化

git reflog

  • 说明:用来记录你的每次命令

git diff

  • 说明: 工作区(work dict)和暂存区(stage)的比较
  • 参数
    • —cached 暂存区(stage)和分支(master)的比较
    • HEAD — readme.txt 命令可以查看工作区和版本库里面最新版本的区别

git revert

  • 说明:不同于 git reset 它不会擦除”回退”之后的 commit_id ,而是正常的当做一次”commit”,产生一次新的操作记录,所以可以push,不会让你再pull

git checkout

  • 说明:
    1、分支切换
    2、工作区的修改撤销
    1. 2.1 未放入暂存区,撤销修改回到和版本库状态
    2. 2.2 已添加到暂存区,又作了修改,撤销修改回到暂存区后的状态
  • 参数
    • -b dev (-b参数表示创建并切换)
    • — filename 撤销修改的文件

git branch

  • 参数
    • -d dev
    • -D feature-vulcan 要丢弃一个没有被合并过的分支

git merge

  • 说明: 用于合并指定分支到当前分支
  • 参数
    • —no-ff参数,表示禁用Fast forward
      • —abort 合并终止
  • 示例
    • git merge —no-ff -m “merge with no-ff” dev

git stash

  • 示例
    • git stash pop
工程构建

  • git全局设置

  • git config --global user.name "burning" 
    git config --global user.email "232323@qq.com"

  • 创建git仓库

  •    git init
       git add .
       git commit -m "init"
       git remote add origin git@github.com:burning33/xxxxx.git
       git push -u origin master

  • 创建git仓库

  •    git remote add origin git@github.com:burning33/xxxxx.git
       git push -u origin master

使用场景

  • 分支开发 ->文档说明
  • - git checkout -b iss53
    - 开发代码(如: vim index.html)
    - git commit -a -m 'added a new footer [issue 53]'
    - git checkout master
    - git checkout -b hotfix
    - vim index.html
    - git commit -a -m 'fixed the broken email address'
    - git checkout master
    - git merge hotfix
    - git branch -d hotfix
    - git checkout iss53
    - vim index.html 
    - git commit -a -m 'finished the new footer [issue 53]

  • 图形化

    • git config —global alias.lg “log —color —graph —pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset’ —abbrev-commit”
  • git仓库迁移

  • 新建git工程,获得地址
    更新本地git源  : git remote set-url origin git@gitee.com:aunbox/fenxiaopintai.git
    git push
    设置线上库新git源 :  git remote set-url origin https://gitee.com/suzhou_happy_box/ad.aunbox.cn
    git pull

  • 撤销

  • #未add撤销
     - git checkout --  
          - 情况1:未放入暂存区,撤销修改回到和版本库状态
        - 情况2:已添加到暂存区,又作了修改,撤销修改回到暂存区后的状态
    #已add撤销
       - git reset HEAD   撤销到 工作区,保留修改
    #已commit撤销
      1、git reset --soft HEAD~  修改撤销到 暂存区
      2、git reset --hard HEAD~  修改撤销了 无法找回 包括 工作区修改
      注:!!! 不要使用 git reset --hard 会导致本地修改的东西丢失
    #已push撤销 beta
      1、 git reset --soft HEAD~
      2、 git push -f

  • git 嵌套分支部署

    • 外层 .gitignore 忽略内层文件夹 如inner
    • 内部设置 源为分支
      undefined
  • git 忽略已经添加到版本库的文件

  • 第一步:
      指令:git rm -r --cached YOUR_PATH
      YOUR_PATH 即 你的文件,-r 指定了递归所有的子文件夹。
    第二步:
      vi .gitignore  添加 要忽略的文件或目录
    第三步:
      git add 后 git commit

来说两句吧
最新评论