git
版本回退(commit版本间的跳跃)
命令
git log
: 显示最近的3次commit
git reset --hard <somewhere>
: 回退到某个版本(上一个版本HEAD^ ,再上一个版本HEAD^^,之前100个版本HEAD-100,也可以上commit id)
git reflog
: 执行的命令历史
知识
- add:把修改放到暂存区
- commit: 把暂存区的所有修改提交到分支
撤销修改
- 丢弃工作区的修改:
git checkout -- file
- 将暂存区的文件放回工作区(add的逆操作):
git reset HEAD file
远程仓库
- 添加远程仓库:
git remote add origin <repo>
- push:
git push origin master
, 第一次推送加参数-u
分支
- 创建分支:
git branch <branch>
或git checkout -b <branch>
"-b": 创建并切换分支 - 切换分支:
git checkout <branch>
- 查看分支:
git branch
- 合并分支:
git merge --no-ff <branch>
合并到当前分支 - 删除分支:
git branch -d <branch>
分支没有merge之前不能被删除,使用-D参数可强制删除
封存
意义: 在某分支上的工作还没有commite就要切到另外一个分支,此时要先把当前分支上的修改stash
git stash
git stash list
git stash apply
:恢复封存
git stash drop
: 删除一个stash
git stash pop
: 恢复+删除
git cherry-pick <commite-id>
: 把另外一个分支上的一次commite复制到另外一个分支
remote的管理
git remote -v
: 查看远程库信息
git remote rm <remote-name>
git remote add <remote-name> <url>
tag
意义: 给某个commite一个“别名”
git tag <tag-name> <commite-id>
:给当commite打标签,不加commite-id就是给当前分支最新的commite打
git tag
: 查看所有的标签,按字母排序并非时间
git show <tag-name>
:输出某tag信息
git tag -a <tag-name> -m "<note>" <commite-id>
:为tag添加说明
git tag -d <tag-name>
: 删除
``