Git是目前最先进的分布式版本控制系统,其底层文件验证采用的是SHA-1算法。

Git优势:
  • 大部分操作在本地完成,不需要联网。
  • 完整性保证。
  • 尽可能的添加数据而不是删除或修改数据。
  • 分支操作非常快捷流畅。
  • 与linux命令全面兼容。
工作区、暂存区、本地库关系
  • 工作区:就是你在电脑里能看到的目录。
  • 暂存区:英文叫stage, 或index。一般存放在 “.git目录下” 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
  • 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
    git&github教程
使用场景
  • 团队内部协作
    git&github教程
  • 跨团队协作
    git&github教程

命令

git init
本地初始化 .git目录中存放的是本地库相关的子目录和文件,不要删除或修改。
git status
查看工作区、暂存区状态
git add
将工作区的内容添加到暂存区
git rm --cached
从暂存区移除文件
git commit -m "注释信息"
将暂存区的内容提交到本地库

查看历史记录

git log 查看历史提交
git log --oneline 查看历史记录的简洁的版本。
git log --oneline --graph 用 --graph 选项,查看历史中什么时候出现了分支、合并。
git reflog 可显示[email protected]{移动到当前版本需要的步数}

前进后退指定版本
  • 基于索引值操作
    git reset --hard 版本号
  • 使用^符号(只能后退)
    git reset --hard HEAD^
    一个 ^ 符号表示后退一步 n个 ^ 表示后退n步
  • 使用~符号(只能后退)
    git reset --hard HEAD~3
    数字为后退步数

reset命令三个参数对比

  • –sort
    仅在本地库移动指针
  • –mixed
    在本地库移动HEAD指针,重置暂存区
  • – hard
    在本地库移动HEAD指针,重置暂存区和工作区
删除文件并找回

前提: 代码提交到了本地库
git reset --hard [指针位置]
指针位置: 被删除文件存在的本地库版本号

比较文件

git diff
将工作区的文件与暂存区的文件进行比较

分支

在版本控制中,使用多条线同时推进多个任务。
好处

  • 同时并行推进多个功能开发,提高开发效率。
  • 各个分支在开发过程中,如果某一分支开发失败,不会对其他分支的功能有影响。失败的分支删除重新开始即可。

分支操作
git branch [分支名] 新建分支
git branch -v 查看分支
git checkout [ 分支名] 切换分支
分支合并

1.切换到接受修改的分支
git checkout [被合并分支名]
2.执行merge命令
git merge [新分支名]
冲突的解决
1.编辑文件,删除特殊符号
2.修改文件至满意的程度
3.git add [文件名]
4.git commit -m “”

相关文章: