[Git]基础流程图和分支

发布于 2021-12-25  44 次阅读


img
  • Git分支中常用指令:
 #检查文件的状态
 $ git status
 #检查文件的状态精简模式
 $ git status -s       (缩写)
 $ git status --short
 ​
 #跟踪新文件
 $ git add 文件名    //之后文件前面有绿色A
 $ git add .       //一次性添加多个
 #提交更新 工作区➡本地git仓库
 $ git commit -m "提交描述"  //之后文件前面有绿色M
 ​
 #跳过add直接提交到git仓库
 $ git commit -a -m "描述信息"   //跳过了add
 ​
 #撤销对文件的修改
 $ git checkout -- 文件名   //覆盖成git仓库版
 ​
 #移除暂存区文件
 $ git reset HEAD 文件名  //之后文件状态根据步骤退后一步
 ​
 #移除文件
 $ git rm -f 文件名    //同时删除git仓库和工作区的文件
 $ git rm --cached 文件名  //只删除git仓库的,保留工作区的
 ​
 # 列出所有本地分支
 $ git branch
 ​
 # 忽略文件   //保存无需git管理但不希望出现在未跟踪文件列表中放在.gitigrone
 以#开头的是注释
 以/ 结尾的是目录
 以/ 开头防止递归
 以! 开头表示取反
 使用glob正则表达式进行文件匹配
 ​
 # 查看提交历史
 $ git log -2 --pretty=online   //一行上显示最新俩条记录
 ​
 # 回退到指定的版本(可以用上面代码看提交ID)
 $ git log --hard <CommitID>    //根据ID退到指定版本
 ​
 # 查看分支   
 $ git branch  
 ​
 # 列出所有远程分支
 $ git branch -r
 ​
 # 查看远程仓库所有的分支
 $ git remote show 仓库名
 ​
 # 新建一个分支
 $ git branch [branch-name]   //但依然停留在当前分支
 ​
 #并切换到指定分支
 $ git checkout 分支名
 ​
 # 新建一个分支,并切换到该分支 (上面俩合并方法)
 $ git checkout -b [branch]
 ​
 # 合并指定分支到当前分支
 $ git merge [branch]    //合并到master则需要先切换到master分支上
 ​
 # 删除分支
 $ git branch -d [branch-name]
 ​
 # 删除远程分支
 $ git push origin --delete [branch-name]
 $ git branch -dr [remote/branch]
 ​
 #跟踪远程分支并下载本地仓库中
 $ git checkout -b 本地分支名 远程仓库名/远程分支名称
 ​
 #拉取最新远程分支文件
 $ git pull
 ​
 #push方式删除远程仓库分支
 $ git push origin --delete 分支名
 ​

一、版本控制

1、版本控制好处

  1. 操作简便
  2. 易于对比
  3. 易于回溯
  4. 不易丢失
  5. 协助方便

2.版本控制好处分类

  1. 本地版本控制系统
    • 优:软件记录版本,提高效率,降低手动出错率
    • 缺:单机,不支持多人开发。若故障,全丢失
  2. 集中化的版本控制系统SVN(差异比较)
    • 优:基于c/s,
      • 服务器保存文件所有更新记录
      • 客户端只保留最新版本
    • 缺:不支持离线提交
      • 中心崩溃。无法正常工作
      • 数据库崩溃,全丢失
  3. 分布式版本控制系统GIT(完全快照)
    • 服务器保存文件所有更新记录
    • 客户端是服务器的完整备份
    • 优:联网多人开发
      • 断网支持离线提交
      • 服务器崩溃,任意客服端恢复

二、开源协议

1、常见的5种开源许可协议

  1. BSD ( Berkeley Software Distribution)
  2. Apache Licence 2.0
  3. GPL (GNU General public License)
    • 具有传染性的一种开源协议,不允许修改后和衍生的代码做为闭源的商业软件发布和销售
    • 使用GPL的最著名的软件项目是:Linux
  4. LGPL (GNU Lesser General Public License)
  5. MIT ( Massachusetts Institute of Technology, MIT)
    • 是目前限制最少的协议,唯一的条件∶在修改后的代码或者发行包中,必须包含原作者的许可信息
    • ●使用MIT的软件项目有: jquery、Node.js

关于更多开源许可协议的介绍,可以参考博客https://www.runoob.com/w3cnote/open-source-license.html

三、GitHub使用

1、Github简介

在Github 中,你可以:

  1. 关注自己喜欢的开源项目,为其点赞打call
  2. 为自己喜欢的开源项目做贡献( Pull Request)
  3. 和开源项目的作者讨论Bug和提需求(lssues)
  4. 把喜欢的项目复制一份作为自己的项目进行修改( Fork)
  5. 创建属于自己的开源项目