客户端配置
全局配置
git config --global user.name weipeng.b
git config --global user.email backend-wp@outlook.com
git config --global user.password “your password”
单个仓库,配置账户
git config user.name ipwwp
git config user.email backend-wp@outlook.com
git config user.password “your password”
拉取代码并切换分支
git clone https://gitee.com/ipwwp/demo-alibaba.git
# 查看 远程服务器地址
$ git remote -v
origin https://gitee.com/ipwwp/demo-alibaba.git (fetch)
origin https://gitee.com/ipwwp/demo-alibaba.git (push)
# 查看远程分支
$ git branch -a
* master
remotes/origin/dev
remotes/origin/test
# 在本地创建分支,与远程的dev分支进行关联
git checkout -b dev_weipeng remotes/origin/dev
# 查看本地分支
$ git branch
* dev_weipeng
master
# 查看本地分支 和 远程分支的 绑定关系
$ git branch -vv
* dev_weipeng 684a938 [origin/dev] 卫鹏---删除客户端,增加级联判断
master 4bb35bc [origin/master] Merge branch 'dev
提交代码,并推送到远程仓库
git add -A
git commit -a
git fetch origin dev
git rebase origin/dev
# git push <远程主机名> <本地分支名>:<远程分支名>
git push origin dev_weipeng:dev
push & pull
# git pull <远程主机名> <远程分支名>:<本地分支名>
git pull origin dev:dev_weipeng
# git push <远程主机名> <本地分支名>:<远程分支名> 与pull正好相反
git push origin dev_weipeng:dev
将多笔提交,合并成一笔
具体场景:我们一般,需要将多笔提交,合并成一笔。此时,我们就用到了rebase
# 这个表示,将从3d19d0a提交,到当前最新提交,这2笔提交之间的所有commit,进行合并
# 注意,合并,不包括3d19d0a这笔提交修改的内容,但是包括最新提交修改的内容
git rebase -i 3d19d0a48edfc5fd6b7e6cd60e3e45e81dbf62df
#如果出现冲突,按照rebase冲突方案解决
git add -A
git rebase --continue
# 最后,将合并好的代码,推送到远程仓库,需要加上-f,表示强制覆盖
git push --force origin dev_weipeng:dev
基于某个tag,创建分支
git clone 整个仓库后使用,以下命令就可以取得该 tag 对应的代码了。
git checkout tag_name
但是,这时候 git 可能会提示你当前处于一个“detached HEAD" 状态。
因为 tag 相当于是一个快照,是不能更改它的代码的。
如果想,基于这个tag,创建一个分支,并且修改代码,则执行以下命令:
git checkout -b branch_name tag_name
这样会从 tag 创建一个分支,然后就和普通的 git 操作一样了。
比如:
git checkout -b saga_barrier_cancel_fix v2.1.4