当我尝试将文件从本地驱动器添加到本地驱动器中的存储库时,我收到此错误

时间:2018-05-10 04:40:22

标签: git ant

当我尝试将本地驱动器中的文件添加到本地驱动器中的存储库时,我收到此错误,该驱动器是同名Git存储库的克隆: -

  

run_git-ADD:

     

[exec]致命:不是git存储库(或任何父目录):   .git [exec]结果:128 [echo] add done

请指导我

这是我在ANT中的全部命令:

<?xml version="1.0"?>
<!--New Build File-->

<project default="run_git-add">

<!--GIT COMMAND LOG-->
<macrodef name="git">
        <attribute name = "command" />
        <attribute name = "dir" default = "" />
        <element name = "args" optional = "true" />
        <sequential>
                <echo file="GIT_COMMAND_LOG" message="git @{command} &#xa;"
                    append="yes" />
                <exec executable = "git" dir = "@{dir}">
                    <arg value = "@{command}" />
                    <args/>
                </exec>
        </sequential>
    </macrodef>

<!--GIT INIT--> 
    <macrodef name = "git-init">
        <attribute name = "repository" />
        <sequential>
            <git command = "init">
                <args>
                    <arg value = "@{repository}" />
                </args>
            </git>
        </sequential>
    </macrodef>

<!--GIT ADD-->  
    <macrodef name = "git-add">
        <attribute name = "path" />
        <attribute name = "target1" />
        <sequential>
            <git command = "add" dir="@{path}">
                <args>
                    <arg value = "@{target1}" /> 
                </args>
            </git>
        </sequential>
    </macrodef>

<!--GIT COMMIT-->
    <macrodef name = "git-commit">
        <attribute name = "path" />
        <attribute name = "message" />
        <sequential>
            <git command="commit" dir="@{path}">
                <args>
                    <arg value= "@{message}" />
                </args>
            </git>
        </sequential>
    </macrodef>

<!--GIT PUSH--> 
    <macrodef name = "git-push">
        <attribute name = "path" />
        <attribute name = "branch" />
        <attribute name = "head" />
        <sequential>
            <git command = "push" dir="@{path}">
                <args>
                    <arg value = "@{branch}" />
                    <arg value = "@{head}" />
                </args>
            </git>
        </sequential>
    </macrodef>
<!--test fail-->
    <macrodef name="test">
        <attribute name = "path" default="hello" />
        <sequential>
            <fail message="fail">
                <condition>
                    <not>
                        <contains string="@{path}" substring="hello" />
                    </not>
                </condition>
            </fail>
        </sequential>
    </macrodef>

<target name="run_git-init">
<git-init repository="Hello-world"/>
<echo message="init done" />
</target>   

<target name="run_git-add">
<git-add path="C:\ANT MIGRATION\mig tool full\salesforce_ant_41.0\sample\retrieveUnpackaged1\classes" target1="C:\ANT MIGRATION\mig tool full\salesforce_ant_41.0\Hello-world"/>
<echo message="add done" />
</target> 
    </project>

2 个答案:

答案 0 :(得分:0)

根据消息,您似乎不在git存储库中。

尝试git status进行验证。 或者在项目的根目录中检查隐藏 .git 目录。 如果您收到相同的错误,则表示该目录不是git存储库。

您应该首先初始化git存储库以开始将其用作本地git repo。

git init

需要添加远程网址

git remote add origin https://github.com/github_repo_name/project_name.git

答案 1 :(得分:0)

该目录不是 git working tree 。 为了能够使用git,您需要初始化存储库。

假设你从头开始,你应该运行

git init

创建存储库并将该目录设为 git working tree

初始化存储库后,您将能够正确地添加文件。你错过了第一步。

如果您应该与其他人合作,那么设置远程存储库可能是值得的(或必要的)。

假设您从头开始,您可以使用

执行此操作
git remote add origin URI

其中URI可以是HTTP地址或SSH资源。

我假设您从头开始,因为克隆现有存储库不需要运行git init命令。除非您无意中删除了.git目录。

从您的构建中,您似乎正在尝试添加当前目录之外的文件。使用git add,您只能在本地树中运行文件。