fork项目更新

菜鸟学git中

在码云中fork了个若依项目到我码云账户下,然后在本地clone我账户下的项目,大概如图吧

image.png
image.png

我的规划是,在本地项目中自己建了一个模块专门写自己的代码,不动若依的源码,然后push到我的码云,然后不定期更新若依的源码。

问题1:我修改了若依的源码,然后commit,然后
git fecth upstream master
git merge upstream/master
这样就从若依那更新了源码,但是我刚刚修改的代码未被更新回来,为啥?(我臆想中应该是要被对应的若依源码覆盖的)

问题2:我的git命令对不:
git clone 我的码云.git

git add 我的代码文件 //增加我的本地代码
git commit am -"描述"

git fecth upstream master //拉取若依的更新
git merge upstream/master //合并若依的更新

git push orgin //把本地代码存到我的码云上

阅读 2.3k
2 个回答

不太确定原因是什么,要 git log 看一下。

建议:

  1. 你本地 master 和 upstream master 保持同步
  2. 开发时创建开发分支 my-dev 提交代码
  3. upstream 更新后,同步到本地 master

    git checkout master
    git pull upstream/master
    git push
  4. 更新本地开发分支 my-dev

    git checkout my-dev
    git rebase origin/master
    # 解决冲突
    git push
问题1

不太清除 "未被更新回来" 是什么意思?

意思是,在 merge RouYi 后的代码中没有你修改的代码吗?

问题2

重点在 git commit -am 'message' 这里。可能与你的预期不符。

git commit -am 'message' 中的 -a 也就是 --all。会将除了未追踪(Untracked)的文件全部提交。

比如你修改了三个文件,分别是 A,B,C。但是你只想提交 A 和 C 中的修改: git add A C。但是紧接着使用了 git commit -am 'message',会将全部的改动提交,包括 B。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进