Git基本操作(学习笔记)

Git 基本概念说明

  • Working tree

用户当前工作文件目录,就是我们平时编辑代码的文件目录。

  • Index

暂存区, 工作区(Working tree)中的修改add之后将会到暂存区(Index)中。

  • Local repo

本地仓库, 暂存区(index)的修改commit之后将会存入本地仓库(Local repo)。
上面三者之间关系(如下图)

工作区、版本库、暂存区原理图

  • Remote repo

远程仓库

  • HEAD[^] or [~100]

HEAD代表的是当前版本的别名,上一个版本就是HEAD^,上上个版本就是HEAD^^,上100个版本就是HEAD~100

  • Branch

分支

  • Upsteam / Downsteam

当你git clone xxx之后, 系统会自动为xxx创建一个别名,就是Upsteam,而你的本机对于远程的仓库来说,就是Downsteam。
Git branch –vv 可以查看当前分支的upsteam。

常用命令说明

Git status 查看当前git状态!不知道要干嘛的时候可以使用一下!
Git clone 克隆远程仓库
Git pull 获取远程分支master并merge到当前分支
Git add 添加修改到缓存区(Index)
Git commit 提交缓存区(Index)修改到本地仓库(Local repo)
Git push 将当前分支push到远程仓库(Remote repo)master分支 Git reset 将当前版本还原到指定版本(Commit Id 或者 HEAD)
Git checkout 切换分支
Git log 显示日志
Git branch 显示所有本地分支, 带参数可以实现对分支的一些操作
Git stash 暂存当前修改,将工作区(Working tree)置为HEAD状态
Git show 显示某个提交的详细内容, 后面接上commit id ,例 git show HEAD

使用场景

场景1:工作过程中修改乱了自己的工作区(working tree),想要还原到本地仓库的HEAD。

(1)git stash 将所有工作区修改存到stash里面, 并将工作区还原到HEAD版本。

(2)git reset —hard HEAD 将工作区还原到HEAD版本。

*场景2:日常工作流程

git支持很多种工作流程,我们采用的一般是这样,远程创建一个主分支,本地每人创建功能分支,日常工作流程如下:
去自己的工作分支
$ git checkout work

工作
…

提交工作分支的修改
$ git commit -a

回到主分支
$ git checkout master

获取远程最新的修改,此时不会产生冲突
$ git pull

回到工作分支
$ git checkout work

用rebase合并主干的修改,如果有冲突在此时解决
$ git rebase master

回到主分支
$ git checkout master

合并工作分支的修改,此时不会产生冲突。
$ git merge work

提交到远程主干
$ git push

场景3:无视远程仓库版本, 强行push(不建议使用)

git push –f 强行将本地仓库当前分支push到远程仓库

猜你喜欢

转载自blog.csdn.net/Weixiaohuai/article/details/82464933