# git常用技巧
# 1.fork后想更新源仓库的改动
git remote -v //查看远程状态
git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git //确定一个将被同步给 fork 远程的上游仓库
git fetch upstream //从上游仓库 fetch 分支和提交点,提交给本地 master,并会被存储在一个本地分支
git checkout master
git merge upstream/master //把 upstream/master 分支合并到本地 master 上,这样就完成了同步,并且不会丢掉本地修改的内容。
git push origin master //提交到远程
# 2.暂存
git stash //把当前改动放入暂存区
git stash list //查看有哪些暂存
git stash pop stash@{0} //取出暂存内容
# 3.新建/删除分支
git checkout -b iss53
//相当于
git branch iss53
git checkout iss53
git push origin --delete <branchName> //删除远程分支
git branch -D <branchName> //删除本地分支
git remote show origin // 查看remote地址,远程分支
git fetch --prune origin // 清理远程已删除本地还存在的分支 git fetch -p 或者 git pull -p
git remote update origin -p // 更新分支列表
# 4.撤销
//文件被修改了,但未执行git add操作(working tree内撤销)
git checkout fileName
git checkout .
//同时对多个文件执行了git add操作,但本次只想提交其中一部分文件
git add .
git status
//取消暂存
git reset HEAD <filename>
//文件执行了git add操作,但想撤销对其的修改(index内回滚)
//取消暂存
git reset HEAD fileName
//撤销修改
git checkout fileName
//修改的文件已被git commit,但想再次修改不再产生新的Commit
//修改最后一次提交
git add sample.txt
git commit --amend -m"说明"
//已在本地进行了多次git commit操作,现在想撤销到其中某次Commit
git reset [--hard|soft|mixed|merge|keep] [commit|HEAD]
# 5.回滚
//使用reset
git log
git reset --hard COMMITID
git push origin master -f
//使用revert删除最后一次远程提交
git revert HEAD
git push origin master
//如果你每次更新线上,都会打tag
git checkout <tag>