Git相关命令(二)

三、Team协作

分支概念:由于多人贡献于同一个仓库,但是又不能同时直接再仓库上修改,所以就需要从主仓库分支,每个人在自己对应的分支上操作,最后在合并到主仓库即可

1、fork 仓库。这是 github 的操作,而不是 git,fork 的仓库不是分支,但是可以通过 pull request 申请向原仓库合并

2、从远程仓库拉取到本地。同上,可以使用 https 或者 ssh 的方式

bash 复制代码
git clone git@github.com:daizeyao/hznuoj.git

3、设置上游仓库。 upstream 和上文中的 origin 都称为远程主机名

bash 复制代码
git remote -v

git remote add upstream git@github.com:hznuoj/hznuoj.git

4、新建分支。

(1)、 switch 和 checkout 都是切换分支,加上 -b如果切换时发现没有就新建

bash 复制代码
git checkout -b dev

git switch feature
git checkout feature

(2)、查看分支命令

bash 复制代码
git branch -a

5、同步上游的 commit

(1)、将远程仓库的修改下载到本地。用于预览和比对远程分支的修改。

bash 复制代码
git fetch upstream master
git fetch 远程主机名 分支名

(2)、将远程仓库的更新同步到本地分支时。下述操作就是先切换到 master 分支,然后将 feature 分支的修改合并到 master

bash 复制代码
git switch master
git merge feature

(3)、git pull = git fetch + git merge

bash 复制代码
git pull upstream master
git pull 远程主机名 分支名

6、整理、提交自己的 commit

自己的分支可能有多次 commit ,当我们需要整理自己的 commit 的时候就可以使用 rebase

为了避免意外,推荐先本地备份一遍仓库

(1)、首先查看日志,需要合并哪几次 commit ,选到那次 commit 的版本号

bash 复制代码
git log

(2)、交互形式进行 rebase 操作,之后会弹出两次交互框:

第一次是选择如何 rebase ,它会从上到下从老到新列出区间内每次 commit ,一行的一个参数表示对这次 commit 做什么操作,第二个参数就是commit的版本号,其中, pick 代表包括这次 commit , squash 代表将这次 commit 合并到上面第一个 commit ,那么我们只需要将第一行改为 pick ,后面的改为 squash 即可完成合并

第二次是更改本次合并后的 commit 的信息

bash 复制代码
git rebase -i xxx

(3)、强推到远程主机

bash 复制代码
git push -f origin master
相关推荐
Selicens10 小时前
git批量删除本地多余分支
前端·git·后端
闲云一鹤1 天前
Git LFS 扫盲教程 - 你不会还在用 Git 管理大文件吧?
前端·git·前端工程化
vibecoding日记4 天前
为什么我就想要「线性历史 + Signed Commits」,GitHub 却把我当猴耍 🤬🎙️
git·编程工具
程序员小崔日记5 天前
如何将代码轻松上传到 Gitee?Git 使用全攻略!
git·gitee·上传
Bigger6 天前
为什么你的 Git 提交需要签名?—— Git Commit Signing 完全指南
git·开源·github
DianSan_ERP6 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
红豆子不相思7 天前
Tomcat 环境搭建与集群实战
服务器·git·tomcat
杰哥技术分享7 天前
Git 仓库迁移技术文档:从 CODING.net 迁移至腾讯云 CNB
git
梅孔立7 天前
Ansible 100 台服务器一键管控实战 进阶版
服务器·git·ansible