拷贝别人的项目,如何保留commit记录

本文教你如何在Gitee上复制开源项目,保持原作者commit记录,仅更改远程仓库地址,实现学习与贡献的无缝对接。

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

看到github上别人优秀的项目,尤其一些入门教程,自己拷贝过来。学习以后修改一番,还想保留原有作者的commit记录。

首先在gitee上创建一个和原有作者名字一样的仓库,然后去clone本地项目中:.git目录下,打开config文件。

修config文件中的remote "origin" ,只把url改成新建的仓库地址即可。

然后push的时候就推送到新建的仓库,原作者的commit的信息也保留了。
(源仓库是公开的)

### 如何 Fork 一个项目并基于其进行修改 Fork 是一种在 GitHub 或其他 Git 托管平台上复制他人项目的操作方式,允许开发者在一个独立的空间中自由修改该项目而不影响原始仓库。以下是关于如何完成这一过程的具体说明。 #### 创建 Fork 的副本 当用户希望贡献于某个开源项目或者在其基础上开发新功能时,可以先通过点击目标仓库页面上的 **"Fork"** 按钮来创建一份属于自己的远程副本[^1]。此动作会将原作者的代码库克隆至用户的个人账户下,并保持两者之间的关联关系以便后续同步更新。 #### 配置本地环境与远端连接 为了能够在本地计算机上编辑这些文件,在成功执行上述步骤之后还需要进一步设置Git配置项以及添加额外URL地址指向初始源位置作为上游(upstream)服务器称定义如下所示: ```bash git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git ``` 接着验证新增加的内容是否正确无误可以通过下面这条指令查看所有已知链接列表及其对应别: ```bash git remote -v ``` 此时应该能看到类似于这样的输出结果其中包含了origin代表自己fork后的版本而upstream则是指代官方维护的那个分支路径信息[^2]: ``` origin https://github.com/YOUR_USERNAME/FORKED_REPOSITORY.git (fetch) origin https://github.com/YOUR_USERNAME/FORKED_REPOSITORY.git (push) upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch) upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push) ``` #### 同步最新更改到你的Forked Repository 由于随着时间推移可能原本那个公共存储库会有新的改动加入进来所以我们需要定期拉取那些差异部分然后合并进我们当前的工作拷贝当中去实现这一点需要用到之前设定好的`upstream`参数配合pull命令即可达成目的具体流程如下所列: ```bash # 切换回主干master/develop视情况而定一般默认都是前者 git checkout main || git checkout develop # 获取来自上级资源里的变动记录但不立即应用它们只是下载下来而已 git fetch upstream # 将刚才得到的数据实际融入到现在所在层面上面形成最终版历史轨迹图谱结构形式呈现出来供以后查阅参考之用 git merge upstream/main || git rebase upstream/develop ``` 如果期间遇到冲突现象则按照常规解决办法处理完毕后再继续推进整个进程直至顺利完成为止[^3]. #### 提交个性化定制成果给社区共享 经过一系列精心设计调整优化过后就可以准备将自己的心血结晶分享出去让更多的人受益啦! 这里需要注意撰写清晰明了易于理解接受程度高的commit message非常重要因为它能够帮助审阅者快速把握重点内容从而提高采纳率减少不必要的沟通成本浪费时间精力等方面考虑因素均需纳入考量范围之内[^4]. 推荐遵循标准格式模板书写例如: ``` Summarize changes in around 50 characters or less More detailed explanatory text, if necessary. Wrap it to about 72 characters. The blank line between the summary and description serves as a separator. - Bullet points are okay too - Typically use a hyphen or asterisk as bullet marker ``` 最后利用 push action 把最新的状态上传至云端等待PR审核环节的到来吧! ```bash git push origin YOUR_BRANCH_NAME ``` --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值