Skip to content

freeAgainFor1314/learnJS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

learnJS

learn js

#创建并进入目录 mkdir git_parent && cd git_parent git remote show origin cat .git\config #循环遍历每个submodule pull代码 git submodule foreach git pull

对于一个包含子module的git 项目来说,开发者拉去代码 的时候 默认只能获取的parent 项目的内容,子模块的内容是拉去不到的,还要 执行两个命令 在parent目录下执行 git submodule init --子模块init git submodule update --recusive --子模块代码递归获取

  • 删除submodule

  • 先从暂存区中删除 git rm --cached mymodule

  • 再把mymodule 从工作区中删除 rm -rf mymodule

  • 最后执行git add . 并且commit和push

  • 进入到 .git 目录下 删除.gitmodules 目录 并commit 和push

  • git subtree介绍

  • 首先在subtree parent 目录中 去添加 子subtree的地址

  • git remote add subtree-origin git@github.com:gitlecture/git_subtree_child.git

  • 展示远程地址 git remote show 包含origin subtree-origin

  • 使用命令 git subtree add --prefix=

  •     git subtree add --prefix=subtree subtree-origin master --squash
      其中 <prefix> 代表 subtree存放目录  <repository> subtree的git地址 <ref> 指定subtree的分支
    
  •   --squash 用于合并历史提交为新提交  历史提交就没有
    
  • subtree 作用 可以在parent目录直接修改child目录里的内容

  • push时候的注意点 :

  • 先提交parent 的提交 git push -u 然后在push到child分支 git subtree push --prefix=subtree subtree-origin master

  •                                                             其中 <prefix> 代表 subtree存放目录  <repository> subtree的git地址 <ref> 指定subtree的分支
    
  • 在parent目录中 子模块的版本提交log使用命令 git log subtree-origin/master

  • echo 'child5' >> child.txt 往 child.txt的末尾行追加child5

  • echo 'child5' > child.txt 往child.txt文件里写入child5 覆盖掉原本内容

  • child2目录里修改了文件内容 并推送到远程 ,紧接着在parent2目录 中使用git subtree pull 命令 ,将

  • subtree2 push上去的内容拉取到本地时候 还是会出现冲突,产生的根本原因 gitk 图形工具 经过一系列的时间点倒推,发现在项目最初的提交

  • 点时他们没有公共的祖先,完全是两个仓库。所以目前只能解决冲突。

  • cherry-pick (樱桃 捡起来)将你对某一个分支的修改 commit 应用到另外一个分支上。

  • git cherry-pick commit-id

  • 将 已经在develop分支上开发出来的commit 移除 方法:

  • 找到需要恢复到的点 即commitid ,然后使用命令 git checkout commitid后 ,

  • 使用git branch -D develop (强制循环删除develop分支),git提醒需要创建一个分支名称,使用

  • 命令git checkout -b develop 创建devlop分支 。

Releases

No releases published

Packages

No packages published