git status
查看工作区状态
git status
git status -s
git status --show-stash
git checkout
用来切换到对应记录的,可以基于分支,提交,标签。
切提交和标签一般用来热修复或者老版本需要加新特性。
git checkout dev
git checkout origin/test
git checkout --track origin/feature-test
git checkout -b testbranch
git checkout -- file
git checkout .
git checkout -
git commit
git commit --amend --no-edit
git commit --no-verify -m "xxx"
git commit -m "xxx"
git commit -t templateFile
git commit -F
git reset
救命的
git reset --hard commit_sha1
git reset --soft commit_sha1
git reset --soft HEAD~1
git reset --mixed commit_sha1
git reset --merge commit_sha1
git reset --keep commit_sha1
git revert
一般用于
master
的代码回滚,(多人协作),revert
可以平稳的回滚代码,保留提交记录,不会让协作的人各种冲突
git revert commit-sha1
git rebase
在整个功能开发完毕的时侯,会有很多
commit
,用rebase
可以让commit记录很干净
git rebase -i git-sha1|branch(HEAD)
git rebase --continue
git rebase --skip
git rebase --abort
- pick: 是保留该 commit(采用)
- edit: 提交的东西多了,可以用这个把代码拿回工作区拆分更细的
commit
- reword: 重新修改
commit msg
- squash: 内容保留,把提交信息往上一个 commit 合并进去
- fixup: 保留变动内容,抛弃
commit msg
- drop
git push
本地创建好分支,推送关联的远程分支
git push origin localbranch
git push -d origin branchName
git push --tags
git push --follow-tags
git push -f origin branchName
git push --force-with-lease
git remote
维护多个地方仓库或修改仓库源
git remote add origin url
git remote add github url
git remote set-url
git branch
git branch -d branchName
git branch -M oldBranch newNameBranch
git branch --set-upstream-to=origin/xxx
git branch --set-upstream-to origin xxx
git stash
砸瓦鲁多
git stash save stashName
git stash -u save stashName
git stash push -m "更改了 xx"
git stash apply stash@{0}
git stash pop stash@{0}
git stash list
git stash clear
git stash drop stash@{0}
git stash show stash@{0}
git reflog
记录了所有行为,不小心硬回滚的时侯,或变基错了.这个只在本地有用,推送到远程分支的破坏性改动…赶紧跑路吧
git reflog -5
git cherry-pick
挑取部分需要的 commit 合并,冲突会中断,解决后
--continue
git cherry-pick commit-sha1
git cherry-pick master~4 master~2
git cherry-pick startGitSha1..endGitSha1
其他
- git merge
- git pull
- git rm
- git rev-parse
- git diff