git操作

一、查看远程分支

使用如下git命令查看所有远程分支:

git branch -r

查看远程和本地所有分支:

git branch -a

查看本地分支:

git branch

在输出结果中,前面带* 的是当前分支。

二、拉取远程分支并创建本地分支

方法一
使用如下命令:

git checkout -b 本地分支名x origin/远程分支名x

使用该方式会在本地新建分支x,并自动切换到该本地分支x。

采用此种方法建立的本地分支会和远程分支建立映射关系。

方式二
使用如下命令:

git fetch origin 远程分支名x:本地分支名x

使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout。

采用此种方法建立的本地分支不会和远程分支建立映射关系。

三、本地分支和远程分支建立映射关系的作用
建立本地分支与远程分支的映射关系(或者为跟踪关系track)。
这样使用git pull或者git push时就不必每次都要指定从远程的哪个分支拉取合并和推送到远程的哪个分支了。

git branch -vv

本地分支和远程分支都有映射关系,如果没有,就需要手动建立:

git branch -u origin/分支名,
或者
git branch --set-upstream-to origin/分支名

origin 为git地址的标志,可以建立当前分支与远程分支的映射关系。

撤销本地分支与远程分支的映射关系

git branch --unset-upstream

之后可以再次用git branch -vv 查看本地分支和远程分支映射关系

删除本地分支

git branch (-d/-D ) [-r] <分支名>

切换分支

git checkout branchName

创建远程分支

git push --set-upstream origin dev dev为创建分支的名字

连接远程分支

git checkout -b dev # 创建并切换到本地dev分支
git pull origin caozhengbo #连接到远程的caozhengbo分支

合并dev分支至master

git checkout master // 切换到master分支
git merge dev // 合并dev分支到当前分支(master)

查看历史及版本回退

git log // 查看提交历史
git reset --hard f34c2bc25cadfa807339ba8ee6b3fba69359e107
git push -f origin dev // 强制推送当前分支到远程qzq分支

操作

  • git branch 查看分支
  • git remote -v 列出当前仓库中已配置的远程仓库
  • git remote add xxx git@gitlab.com:xxx/order.git 添加一个新的远程仓库。指定一个远程仓库的名称和 URL,将其添加到当前仓库中
  • git status 查看当前分支状态

git stash

  • git stash save “[save_name]” 暂存

  • git stash list 查看存储记录列表

  • git stash pop 取出最近存储的修改

  • git stash apply stash@{index} 取出指定index的存储到工作目录

  • git stash drop stash@{index} 删除指定index的存储

  • git checkout [branch] 切换分支

  • git checkout -b [branch] 新建并切换分支(-b 等于先执行 branch [new_branch])

  • git pull origin branch_name 从远程主机origin指定分支拉取,与本地branch合并

  • git log --oneline 查看当前分支提交日志

  • git add [file_name…] 将修改添加到暂存区,包含在下一次的commit中,可添加多个

  • git commit -s 将暂存区的内容添加到仓库中
    写日志

  • git pull origin <远程分支名/如master>:<本地开发分支名> --rebase 将远程分支给rebase下来

  • git push zhanglunwei [branch] 上传远程代码并合并

    • git push <远程主机名> <本地分支名>
      再在gitlab上发起merge requests
  • git commit --amend 提交了代码,之后又有新的改动,不想创建两个commit,把新的内容添加到之前的commit里面

  • git push zhanglunwei [branch] --force 如果本地版本与远程版本有差异,要强制推送

操作流程:
git add .
git commit -s
git checkout develop/master(根)
git pull upstream develop
git checkout branch_test(开发分支)
git rebase -i develop
git push -f origin branch-test
(git push cyl branch-test --force)

git pull origin release_mysql_V4.9.0_20230828:dts_0831_02 --rebase
从远程仓库拉下最新代码,合并本地分支

git fetch origin release_mysql_V4.9.0_20230828:dts_xx
从远程仓库release_mysql_V4.9.0_20230828分支下载最新代码到本地分支dts_xx中
如果没有dts_xx分支,自动创建一个新的dts_xx分支 (无映射)

合并多个commit
0.git log 查看commit 信息
1.git rebase -i HEAD~3
从head往下找近3次胡commit 合并成一个
或者是: git rebase -i 5753fcxxx (commit码 hash值)
将第一个以外的commit 对应的pkg修改为squash

删除某个commit;
0.最新的: git reset
1.中间提交的
git rebase -i commitId
编辑其pkg 改为drop

self:rebase 分支
//工作分支dts_08,开发结束:
1.git add .
2.git commit -s
//更新远程分支的最新代码
2.get fetch
git fetch origin release_mysql_V4.9.0_20230828:dts_xx
3.git chekout dts_08 (开发分支)
//合并分支代码
4.git rebase -i dts_xx
6.显示冲突文件,对冲突文件进行修改
7. git add .
8. git rebase --continue
9. 合并过程中可能会继续产生冲突:
git status
git add .
git rebase --continue
10.显示变基完成
11.git push cyl dts_09 --force

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值