从git采取最新的问题

时间:2017-06-28 20:23:42

标签: git github

我刚刚创建了一个git存储库,并且能够通过暂存它然后执行git push来检查代码。我面临的问题是在采取最新的问题。我的理解是git中的目录名应该与系统中的目录名匹配。

我的工作文件夹是C:\ Test \ MRDB.WEB.UI \

为了获得最新信息,我做了以下步骤 1.在命令提示符下转到工作文件夹 克隆目录 2. git clone https://github.com/ranjitmenon/MRDB.git 3. git init 4. git fetch MRDB

当我执行第三步时,它将所有文件拉入我的系统,并将MRDB文件夹作为父文件夹。我所看到的是,当我从路径C:\ Test \ MRDB.WEB.UI \执行时,只需要在此路径中更新文件的内容。目前,它正在此路径下添加带有文件的MRDB文件夹。我想的另一种方法是将一个文件夹改为C:\ Test \,在MRDB下的git中添加一个名为MRDB.WEB.UI的文件夹。

我不知道如何去做,因为我是git的新手。请帮忙

2 个答案:

答案 0 :(得分:1)

所以你列出了你遵循的四个'步骤'

  1. 在命令提示符下转到工作文件夹克隆目录
  2. git clone https://github.com/ranjitmenon/MRDB.git
  3. git init
  4. git fetch MRDB
  5. 列出的这些步骤不是一个接一个地执行的步骤。我建议您阅读git documentation以获取有关这些命令的具体细节。

    如果我理解正确,你想从github获得'最新'。这是你做的:

    1. 转到命令提示符中要将MRDB克隆到的文件夹。
      • cd C:\Test
    2. 克隆您的存储库
      • git clone https://github.com/ranjitmenon/MRDB.git MRDB.WEB.UI
    3. 如果目录MRDB.WEB.UI已经存在,那么我假设已经采取了上述步骤。在这种情况下,我们将使用最新的github更新以前克隆的存储库:

      1. 转到包含以前克隆的存储库的文件夹
        • cd C:\Test\MRDB.WEB.UI
      2. 从github获取最新数据
        • git fetch origin
      3. 更新您当地的分行
        • git merge origin/master

答案 1 :(得分:0)

git init在开始时完成一次设置/创建一个空存储库。除非您需要pick up newly added templates or to move the repository to another place

,否则无需在现有存储库中重新运行它

鉴于您已在Github中拥有现有存储库,您只需在本地目录上执行git clone https://github.com/ranjitmenon/MRDB.git。在本地计算机上设置您的仓库副本时,这也仅在开始时一次完成。

我尝试克隆您的repo并创建一个MRDB文件夹,如下所示:

  

E:> git clone https://github.com/ranjitmenon/MRDB.git
  克隆到'MRDB'......

     

-
  E:\ MRDB

     

MRDB
   | - .git
   | - e2e
   | - src
   | - ..其他文件..

从这里开始,您需要做的就是cdMRDB文件夹并在那里进行所有git操作。没有MRDB.WEB.UI文件夹。您的仓库的顶级文件夹是MRDB,如Github中所示为“ ranjitmenon / MRDB ”。

现在,每当您需要从远程仓库获取最新的代码更改时,您只需要在MRDB文件夹中执行此操作:

  

git fetch origin

git fetch仅更新远程分支的副本,在本例中为Github中的 origin / master 分支。它不会更新本地分支上的文件。您可以通过执行以下操作来检查差异:

  

git log origin / master
  git log master

从这里开始,要实际更新本地主分支上的文件,您可以执行以下操作之一:

  1. git merge origin/master(将远程主服务器合并到本地主服务器)
  2. git pullgit fetchgit merge的组合)
  3. 请注意,如果您需要 master 以外的某个分支,则需要先在该分支上pullmerge之前执行git checkout。< / p>

      

    据我所知,git中的目录名称应与系统中的目录名称相匹配

    git clone应该已经处理了目录名称的匹配(即它在本地PC上创建了MRDB文件夹以匹配Github中的MRDB文件夹。我认为更相关的是本地副本中的分支名称应与远程副本中的分支名称相匹配。