stash
常用git stash命令:
(1)git stash save "save message" : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。
(2)git stash list :查看stash了哪些存储
(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
(4)git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show stash@{$num} -p ,比如第二个:git stash show stash@{1} -p
(5)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}
(6)git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
(7)git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储
(8)git stash clear :删除所有缓存的stash
说明:新增的文件,直接执行stash是不会被存储的,举例如下:
branch
#1、推送本地对应的分支到远程
git push origin dev
#10、新建本地分支dev,并对应建立远程分支和推送到远程分支
#10.1、新建一个本地分支dev,并切换到该分支上去
git checkout -b dev
#(git branch dev && git checkout dev)等同于上面的一个命令
#10.2、新建一个远程分支dev(同名字的远程分支)
git push origin dev:dev
#10.3、把本地的新分支,和远程的新分支关联
git push --set-upstream origin dev
git push -u origin dev
tag
# 列出已打tag
# -l 模糊查找
git tag
git tag -l "1*"
#1、新建Tag
git tag -a 1.2
# push tag
git push origin --tags
reset - (放弃修改、版本回退)
#放弃修改区
git checkout -- .
#放弃缓冲区
git reset HEAD .
#版本回退
# 回退到上一次commit,因为HEAD表示当前版本 HEAD^表示上一个版本 HEAD^^表示上上个版本
git reset --hard HEAD^
#回退到指定版本,先查版本号,再reset --hard
git log --pretty=oneline
git reset --hard version_num
#回退后,后悔了,要重新找回原来版本
git reflog
git reset --hard operation_id
status、add、commit - (添加缓冲区和提交版本)
# 查看项目的当前状态
# -s 简短的结果输出
git status -s
#添加缓冲区
git add .
# 提交版本
# -am 添加缓冲区和提交版本合并
git commit -m 'comments'
# 将已添加到缓存中的文件清除出缓存
git reset filename
# 所有文件清除出缓存
git reset .
merge、rebase - (合并分支)
# rebase
http://gitbook.liuhui998.com/4_2.html
# merge
# 先切换到目标分支,再merge待合并分支
git checkout master
# --no-ff参数:默认情况下,Git执行"快进式合并"(fast-farward merge),会直接将Master分支指向Develop分支
# 使用--no-ff参数后,会执行正常合并,在Master分支上生成一个新节点。为了保证版本演进的清晰,我们希望采用这种做法。
git merge --no-ff dev
init(在目录中创建新的 Git 仓库)
git init
clone
# git clone 可以指定自定义仓库名称
git clone http://192.168.2.2:8080/gitlearn.git customizedname
diff
# 尚未缓存的改动
git diff
# 已缓存的改动
git diff --cached
# 查看已缓存的与未缓存的所有改动
git diff HEAD
# 显示摘要而非整个 diff
git diff --stat
remote(仓库信息)
# 仓库详细信息
git remote -v
# 修改远程仓库地址
git remote set-url origin http://kxy.cn:7070/r/70.ITAssets.git
Q.E.D.