git学习笔记

git学习笔记

1. git三区

  • 工作区
  • 暂存区
  • 版本库
    • 通过git add XXX 将文件推到暂存区
    • 然后通过 git commit -m ‘’ 把暂存区内容推到版本区

2. 初始化

  • git init 命令,进行初始化
  • git add 添加某文件到暂存区
  • git status 查看文件状态
    • 红色: 文件在工作区
    • 绿色: 文件在暂存区
  • git commit -m ‘’

3. 对比

  • git diff 比较暂存和工作
  • git diff --cached 比较版本和暂存
  • git diff master 比较版本和工作

4. 版本库日志

  • git log 显示从最近到最迟提交到版本库的提交记录
  • git relog 显示提交的版本号以及提交的信息

5. 版本回退

  • git reset --hard HEAD^ 回退到最近的上一个版本
  • git reset --hard 版本号 回退到指定版本号对应的版本
  • git rm --cached xxx 从暂存区删除文件

6.删除文件

  • git rm xxx 删除指定文件
  • git rm -r xxx 删除指定文件夹
  • 用git 命令删除文件和直接自主性删除文件是有区别的
    • 直接删除的文件相当于对文件进行了修改,所以还需要把删除的文件添加到暂存区再提交到版本库,才能同步到。
    • 否则,直接删除文件会被认为文件修改,使用git status 显示文件为红色

7. git分支

  • git checkout -b dev 创建一个dev分支,并切换到dev分支
  • git branch 查看当前分支
  • git checkout master 切换到master分支
  • git merge dev 合并dev分支到当前分支
  • git branch -d dev 删除指定分支
  • 差异化对比
    • git diff branch1 branch2 显示两个分支的详细差异
    • git diff branch1 branch2 --stat 显示出两个分支所有有差异的文件列表
    • git diff branch1 branch2 xxx 显示指定文件的详细差异

8. 版本冲突

  • 在同一个文件的同一个位置写入了不同的内容

9. 版本控制系统的区别

  • 集中式版本控制系统
    • 代表有svn、cvs
    • 集中式版本控制系统,版本库是集中在中央服务器的,个人开发者工作电脑只有一个版本。
  • 分布式版本控制系统
    • 代表有git、BitKeeper
    • 每个开发人员电脑里都有一个完整的版本库。同时也需要一个“大家长“服务器来方便代码修改。
  • 集中式和分布式的区别
    • 集中式每个开发者只有应用代码库的一个版本,而分布式每个开发者都有整个代码库的所有版本。
    • 集中式在离线状态下开发者无法进行版本管理开发。但是分布式离线状态下开发者可以进行版本管理开发,等到有网络时再进行push

版权声明:本文为weixin_44223361原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。