git stash和git stash pop

git stash 可用来暂存当前正在进行的工作, 比如想pull 最新代码, 又不想加新commit, 或者另外一种情况,为了fix 一个紧急的bug,  先stash, 使返回到自己上一个commit, 改完bug之后再stash pop, 继续原来的工作。

基础命令:

$git stash

$do some work

$git stash pop

进阶:

Git stash save "work in progress for foo feature"

当你多次使用’git stash’命令后,你的栈里将充满了未提交的代码,这时候你会对将哪个版本应用回来有些困惑,

’git stash list’ 命令可以将当前的Git栈信息打印出来,你只需要将找到对应的版本号,例如使用’git stash apply stash@{1}’就可以将你指定版本号为stash@{1}的工作取出来,当你将所有的栈都应用回来的时候,可以使用’git stash clear’来将栈清空。

git stash          # save uncommitted changes

# pull, edit, etc.

git stash list     # list stashed changes in this git

git show stash@{0} # see the last stash 

git stash pop      # apply last stash and remove it from the list

git stash –help   # for more info

git 学习笔记

首先安装git

安装完之后在指定文件夹下使用

git init

初始化git 这样在文件夹下就会生成.git文件夹

在文件夹下创建一个新文件index.php

git status

查看版本状态

image.png

把index.php放入提交缓存区

git add index.php

git add 可以使用“.”来通配当前目录下的文件,

文件夹也可以使用例如“password_*”来匹配,

还可以在一个目录下使用"src/*.js"来通配目录下所有js文件

提交

git conmmit -m"提交描述"

最后可以查看记录

git log

image.png

把git重置到 所提供hash值的时间点

git reset --soft ac8e8e83dd58eed3999b362887997c59bcc08f8c

soft 只把git 重置到hash值的时间点但是代码不变

hard 连同代码一起重置到hash值的时间点

查看

git show ac8e8e83dd58eed3999b362887997c59bcc08f8c

如果有一些文件或者文件夹不希望通过git提交 可以通过.gitattributes来屏蔽比如说laravel的里的.gitattributes

image.png

创建分支

git branch test-branch

切换分支

git checkout test-branch

image.png

创建分支并进入(效果等同以上2行)

git chackout -b test-branch

合并分支到master

git checkout master
git merge test-branch

image.png

使用线上git平台挺方便的 创建好之后执行以下操作就可以了

image.png

git stash和git stash pop