使用github的简易项目开发流程

本文介绍了GitHub项目开发的基本流程,包括从upstream源pull和向origin源push的操作。同时,提供了处理GitHub开发中常见问题的方法,如配置SSH密钥、合并commit、修改上次commit、回退到历史版本、舍弃本地修改、合并多个commit以及使用cherry-pick转移分支上的commit。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//从github仓库克隆代码到本地
git clone <github仓库地址>

//删除原本的远程仓库origin
git remote rm origin

//添加新的远程仓库origin,一般为自己账号的fork
git remote add origin <你fork的仓库地址>

//添加新的远程仓库upstream,一般为项目的源仓库
git remote add upstream <项目源地址>

//查看两个远程仓库orgin和upstream是否设置正确
git remote -v

关于远程仓库origin和upstream的设置,我们一般从upstream源pull,向origin源push(然后提交pr)

这里写图片描述

//在本地建立新的开发分支并切换到此分支上
git checkout -b <新建分支名>

//进行开发,将修改,新增的文件进行add
git add XXXX

//在commit之前输入pre-commit,标准化代码格式。如果源代码库没有设置,就跳过此步
pre-commit

//进行commit,注意message最后要加入test=develop,才能进行一系列测试。如果源代码库没有相关设置,跳过此步
git commit -m "XXXX test=develop"

//将本地的这个分支push到origin(即自己fork的仓库),此时提示信息会给出提交pr的网址,此时访问网址发起pr即可
git push <远程主机名> <本地分支名>:<远程分支名>

//如果在合入时提示代码出现冲突,需要重新在本地解决冲突。将upstream(项目源代码库)中develop分支拉到本地合入
git pull <远程主机名> <远程分支名>:<本地分支名>

//git fetch <远程主机名> <远程分支名>:<本地分支名> 没试过 不确定行不行

//此时会提示出现冲突,按照提示修改有冲突的文件后重新add, pre-commit, commit, pull, push即可。
//如果push后需要再次修改代码,重新进行add, pre-commit, commit, push即可,注意还是要push到远程提交pr的分支

其他问题:

1. 第一次进行github用户配置:

//进行github用户配置
git config –global user.name <XXX>
git config –global user.email <your email address>

生成密钥并配置:自行搜索即可

在~/.ssh中生成config文件,如果配置多个git环境,只需将每个git环境配置都写入config文件即可。指定port端口可以避免默认22端口被占用

Host github.com
User <你的github登录邮箱>
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443

测试连接是否正常

ssh -T git@github.com

2. 将多个commit合为一个commit:

git rebase ...

https://blog.youkuaiyun.com/coderhuhy/article/details/45567031

3. 修改上次commit:

git add <进行了修改的文件>
git commit --amend
git push ...

4. 回退到历史版本:

//--hard:全部回退   --soft:保留源码,只回退到commit 信息到某个版本.不涉及index的回退,如果还需要提交,直接commit即可

git reset --hard commit_id

5. 舍弃本地修改,强制变基/与upstream端保持代码库和历史一致

git fetch --all //只是下载代码到本地,不进行合并操作
git reset --hard upstream/develop //把HEAD指向最新下载的版本

6.合并多个commit

git rebase -i HEAD~6 // 把顶部的n个版本聚到一起进入编辑页面

然后把需要压缩的commit前面的pick都改为s(squash的缩写)

7. cherry-pick 

切换(checkout)到要转移到的分支上

git cherry-pick <commitHash>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值