• git常见命令和使用


    1.git原理

    • 工作区: 就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。

    • 暂存区 : 暂存区就是文件夹 .git中的一个小部分(.git文件夹就是版本库)

    • 版本库:工作区有一个隐藏目录.git,这个不属于工作区,这是版本库, 版本库中还有Git为我们

    2.gitee中使用

    # Git 全局设置:
    git config --global user.name "110"
    git config --global user.email "5462539+xiaonq110@user.noreply.gitee.com"
    #局部配置 去除 --global
    # 创建 git 仓库:
    mkdir git_test
    cd git_test
    git init
    touch README.md
    git add README.md
    git commit -m "first commit"
    git remote add origin https://gitee.com/eduworkflow/git_test.git
    git push -u origin master
    
    # 已有仓库?
    cd existing_git_repo
    git remote add origin https://gitee.com/eduworkflow/git_test.git
    git push -u origin master

    3.git常见命令

    3.1.简单提交

    git add xxx.txt  # 蒋文件提交到暂存区
    git commit -m 'xxx'   # 蒋代码提交到本地版本仓库
    git status            # 看到未提交到仓库的修改文件(工作区、暂存区)

    3.2.回滚

    git log                             #查看所有提交到仓库的版本记录:   git log -2
    git reflog                          #查看所有操作记录(状态的md5值和改变的值)
    git reset --hard d9e0ed0            #回到指定版本(d9e0ed0是创建版本的MD5值得前6位或者7位)
    git reset --hard HEAD^              #回到上一个版本

    3.撤销修改

    vim Readme                     #我们在Readme文件中写了一些错误的代码
    git add .                      #然后又一不小心将文件从工作区提交到了 stage区
    git reset HEAD Readme          #将Readme中刚提交到 stage区 的代码撤回到工作区
    git status                     #查看目前工作区状态
    git checkout -- Readme         #将Readme在工作区错误的代码丢弃

    3.4.强制使用master覆盖本地代码

    git fetch --all
    git reset --hard origin/master
    git pull

    4.git分支管理

    4.1 分支管理概念

    • master 主分支,稳定代码,为生产环境做准备的

    • develop 开发分支,为开发服务

    4.2 分支使用

    '''1. 从master分支切换到dev分支进行开发'''
    git checkout -b dev master    # 从master分支创建dev开发分支
    git branch                    # 可以看到现在已经切换到dev分支了
    vim Readme                    # 模拟在项目中修改代码
    git add .                     # 把工作区中所有变更全部提交到(暂存区)
    git commit -m 'in dev'        # 把暂存区代码提交到本地git仓库(本地git仓库)
    git push origin dev           # 把代码先推倒dev分支,让测试人员测试
    
    '''2. 当测试人员测试完成后将dev分支代码合并到master形成文档版本'''
    git checkout master           # 开发完成后,需要合并回master分支,先切换到master分支
    cat Readme                    # 可以看到master分支的内容没有修改
    git merge --no-ff dev         # 将刚刚dev中修改的代码合并到master
    git push origin master        # 将本地仓库的代码推送到线上仓库(线上git仓库)

    5.解决冲突

    • 提示:多人协同开发时,避免不了会出现代码冲突的情况
    • 原因:多人同时修改了同一个文件
    • 危害:会影响正常的开发进度
    • 注意:一旦出现代码冲突,必须先解决再做后续开发
      • 原则:谁冲突谁解决,并且一定要协商解决
      • 方案:保留所有代码 或者 保留某一人代码
      • 解决完冲突代码后,依然需要addcommitpush

      • 提示:如果张三执行pull没有影响,就算真正解决了冲突代码

    补充:

    • 容易冲突的操作方式

      • 多个人同时操作了同一个文件
      • 一个人一直写不提交
      • 修改之前不更新最新代码
      • 提交之前不更新最新代码
      • 擅自修改同事代码
    • 减少冲突的操作方式

      • 养成良好的操作习惯,先pull在修改,修改完立即commitpush
      • 一定要确保自己正在修改的文件是最新版本的
      • 各自开发各自的模块
      • 如果要修改公共文件,一定要先确认有没有人正在修改
      • 下班前一定要提交代码,上班第一件事拉取最新代码
      • 一定不要擅自修改同事的代码
  • 相关阅读:
    Swing 添加Esc快捷键退出程序
    DefaultTableCellRenderer 自定义
    项目清理和删除svn信息(转)
    时间转换工具类
    Java Swing 日期控件(转载)
    Eureka原理
    SpringCloud之Eureka注册中心集群篇
    spring boot及spring cloud介绍
    spring cloud 服务注册/发现/提供/调用 demo
    eclipse构建maven+scala+spark工程
  • 原文地址:https://www.cnblogs.com/shensy/p/14156001.html
Copyright © 2020-2023  润新知