删除本地/远程分支
git branch -d 分支名 删除本地分支
git push --delete origin 分支名 删除远程分支
修改提交人的姓名和邮箱
git config --global user.name 用户名
git config --global user.email 用户邮箱
查看当前分支状态
git status
查看当前所有分支
git branch
更新当前分支的代码
git pull origin 分支名
创建新的分支
git checkout -b 新分支名
将新分支代码推送到romote
git push origin 新分支名
本地和远端建立连接
git branch --set-upstream-to origin/远端分支名 本地分支名
提交代码到dev分支
git commit -m 'push_description'
提交代码到远端
git push origin dev
同步master分支
git checkout master
git pull origin master
合并dev到master分支
git merge dev
git push origin master
将当前分支的某一次代码提交到另一个分支上去
git log # 通过log 获取提交的 commitId
git checkout B # 检查要被合并的分支代码
git cherry-pick commitId # 将第一步得到的 commitId 提交到B分支上
打TAG
列本地已有标签: git tag
新建含附注的标签: git tag -a 标签名 -m '标签注释' #-a annotated的缩写 -m message缩写
查看相应版本信息: git show 标签名
把标签推送到远端: git push origin 标签名
一次性推送所有本地新增标签到远端: git push origin --tags
删除本地tag: git tag -d 标签名
撤销本地工作区所有改动
撤销某个文件的改动:git checkout xxx(文件名)
撤销本地所有工作区的改动: git checkout .
git revert & git reset
git reset: 某个版本分支之后的代码不要了, 回滚版本,指针Head向前移,指向千面某个指定版本
git revert: 回滚版本,但是Head指针是向前移动的
分支合并
我们用 git fetch 更新了本地仓库中的远程分支,然后合并了新变更到我们的本地分支(为了包含远程仓库的变更),最后我们用 git push 把工作推送到远程仓库。
git fetch;git merge o/main;git push
merge 与 rebase
- Rebase 使你的提交树变得很干净,所有的提交都在一条线上
- Rebase 修改了提交树的历史
提交被拒绝
- 可能提交的分支没有权限提交
- 可能远程分支版本大于你本地分支版本