如何使用GIT提交实时代码?

时间:2016-02-25 09:12:36

标签: git github commit git-commit tortoisegit

我们的repo文件夹/树包含以下文件夹/文件:

  • db / - >这是我们存储db.sql
  • 的地方
  • src / - >这是我们存储Drupal站点文件的地方
  • settings_.cmd - >包含数据库用户名和密码等的文件
  • setup.cmd - >将数据库部署到localhost的文件。

enter image description here

好的,当我将drupal站点部署到我们的cPanel帐户时,我这样做:

cd / home / accountname / public_html /

  • git init
  • git remote add -f name URL
  • git config core.sparsecheckout true
  • echo db />> .git / info / sparse-checkout
  • echo src />> .git / info / sparse-checkout
  • git pull name head

一旦我运行了这些命令,我​​最终在/ home / accountname / public_html /

中有以下内容
  • 的.git
  • 分贝/
  • 的src /

然后我:

  • cd src /
  • mv * ../
  • rm -r src /

并运行mysql -h 127.0.0.1 -D DBname -uDBuser -p' DBpass' < DB / db.sql 部署我的数据库

现在完成我的网站运行100%后我对网站进行了一些更改,而它的实时我想将这些更改提交到repo这就是我的工作:

  • cd public_html /
  • git add --all
  • git commit -m" sometext"
  • git push

当我在当地拉回购物时,它会导致回购“#34; break"而我的repo树现在只显示src内的内容/所以它删除了用来看起来像这样的树:

  • 分贝/
  • src /
  • settings_.cmd
  • setup.cmd

现在看起来像这样:

enter image description here

我想要做的就是:

当我将实时代码提交到repo时,我只希望它更新文件夹src /和db /。因此,当我在本地提取我的repo时,它将更新src /和db /文件夹,而不是其他任何内容。

1 个答案:

答案 0 :(得分:0)

在开发计算机(原始存储库)

拆分Dev/src& Dev/db文件夹,并使它们成为一个独立的git存储库。然后,原始存储库将它们作为子模块。

  1. cd到Dev git repository
  2. 使用子树分割src文件夹的更改/提交 git subtree split -P src -b src_branch
  3. 在某处创建一个名为src.git的裸存储库
  4. src_branch推送至src.git
  5. 使用子树分割db文件夹的更改/提交 git subtree split -P db -b db_branch
  6. 在某处创建一个名为db.git的裸存储库
  7. db_branch推送到db裸存储库
  8. 删除src文件夹
  9. src.git作为子模块添加到src文件夹
  10. 删除db文件夹
  11. db.git作为子模块添加到db文件夹
  12. 结果:

    enter image description here

    enter image description here

    在Live Code计算机(public_html)

    1. 克隆src.gitaccountname文件夹,并为其命名public_html
    2. 克隆db.gitaccountname/public_html文件夹
    3. 结果:

      enter image description here

      从实时代码中同步

      1. accountname/public_html/db中提交并推送 enter image description here
      2. accountname/public_html中提交并推送 enter image description here
      3. 与发展同步

        1. 拉入Dev/db文件夹/子模块
          enter image description here
        2. 拉入Dev/src文件夹/子模块
          enter image description here
        3. 承诺更改Dev回购中的子模块 enter image description here
          enter image description here