记录常用的一些命令
- 创建分支 testing
git branch testing
- 切换到分支 testing
git checkout testing
- 合并分支 testing 到当前分支
git merge testing
- 合并分支选定的提交 到当前分支
git cherry-pick commitId #合并指定一个
git cherry-pick commitId1..commitIdN #合并指定多个
git cherry-pick commitId1~commitIdN #合并指定范围
- 删除分支 testing
git branch -d testing
- 查看分支信息
# 查看当前分支
git branch
# 查看每一个分支的最后一次提交
git branch -v
# 查看本地和远程分支的情况
git branch -a
# 查看已经与当前分支合并的分支
git branch --merged
# 查看已经与当前分支未合并的分支
git branch --no-merged
# 查看远程分支
git branch -r
- 查看当前登录用户
# 查看登录的用户的账号
git config user.name
# 查看登录用户的邮箱
git config user.email
- 修改登录用户
# 修改登录账号为 userName
git config --global user.name 'userName'
# 修改登录邮箱为 email
git config --global user.email 'email'
# 修改登录密码为 password
git config --global user.password 'password'
# 记住登录信息
git config --global credential.helper store
修改远程地址
# 进入git_test根目录
# 查看所有远程仓库
git remote -v
# 查看指定远程仓库地址
git remote xxx
# 设置
git remote set-url origin http://192.168.100.235:9797/john/git_test.git
或者
# 进入git_test根目录
# 查看所有远程仓库
git remote -v
# 查看指定远程仓库地址
git remote xxx
# 移除并添加
git remote rm origin
git remote add origin http://192.168.100.235:9797/john/git_test.git
忽略证书
git config --global http.sslVerify false
根据上游仓库的es分支创建本地新分支
git checkout -b es trunk/es
把本地分支提交到fork仓库的分支
git push origin es:es
fork代码master合并主干
git checkout master
git pull --rebase trunk master
git push
fork代码es合并主干
git checkout es
git pull --rebase trunk es
git push
实例
主干上有多分支
- 重新fork项目
在web上重新fork项目
- 拉取到本地
把fork出来的项目拉取到本地
git clone https://10.10.10.53/cfpang/npm-bff.git
- 指定默认分支
在指定上游主干之前,先切换到fork过来的所有分支上,使得后续在切换分支时都是fork过来的分支
cd npm-bff
git checkout release-20220321
git checkout master
- 指定上游项目
设置上游项目的地址
git remote add trunk https://10.10.10.53/npm/src/backend/npm-bff.git
- 同步上游项目
把上游项目的提交同步到fork过来的项目。
按分支进行同步
a. 先同步 master 分支
git checkout master
git pull --rebase trunk master
git push
b. 同步别的分支,这里例子是历史发布的分支 release-20220321
git checkout release-20220321
git pull --rebase trunk release-20220321
git push
在fork的项目里同步上游项目新增分支
本地没有上游新建的分支
- 拉取上游代码
git fetch trunk
查看已经有上游的新分支
git branch -a
- 新建本地分支,源是上游的对应分支
git checkout -b release-20220321 trunk/release-20220321
推送到fork的项目
git push origin release-20220321
- 删除本地新建的分支
git checkout master
git branch -d release-20220321
- 关联fork项目的新分支
git checkout --track origin/release-20220321
- 之后分支切换都是fork项目的分支
git checkout master
git checkout release-20220321
本地fork项目代码与上游一致
- 在本地新建一个分支,该分支的名称最好与上游项目中新增的那个分支的名称相同
git checkout -b release-20220321
- 从上游项目中将新分支的内容 pull 到本地
git pull trunk release-20220321
- 将 pull 下来的分支 push 到项目B 中去
git push origin release-20220321