【问题标题】:Can not push files to GIT无法将文件推送到 GIT
【发布时间】:2021-03-18 16:51:58
【问题描述】:

我是 git 的新手并且一直在搞乱它(创建、删除、存储库、头、项目等)来学习它,我了解如何将项目添加到暂存区域并提交它们,但是当我尝试将名为 P18.MovieApp 的文件从我的计算机推送到 git 以上传它,它给了我这个错误:

$ git push P18.MovieApp/
fatal: 'P18.MovieApp/' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

(在我使用 git 期间,我创建并删除了多个存储库,并且可能搞砸了)。

当我输入“git status”并且我无法摆脱时,我收到的另一条奇怪的消息是这样的:

On branch main
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)
        modified:   playground/CODE/mypage2 (modified content, untracked content)

我有这个文件mypage2(以前有一个文件gitignore,我手动删除了它)。我试图通过使用 git add/git restore/git rm 来消除此消息,但我无法管理。好像我没有权限这样做或文件无法读取?我对 Git 很困惑,所以现在我能做的就是手动将我的文件上传到 Github....

【问题讨论】:

  • 你不是推送文件,而是推送提交。 gits status 在这里很有见地;您需要 git add &lt;file&gt; 作为第一步。
  • 我已经做到了。我添加了文件,然后提交文件成功,但无法推送它
  • 我又试了一次,现在我明白了:$ git push origin main git@github.com: Permission denied (publickey)。致命:无法从远程存储库中读取。请确保您拥有正确的访问权限并且存储库存在。

标签: git github gitlab


【解决方案1】:

这是创建存储库、添加文件和远程同步的过程。您似乎是 Git 新手,这可以帮助您入门。

在当前目录初始化一个空的 Git 仓库:

$ git init
Initialized empty Git repository in /home/user/

在存储库中创建一个文件:

$ cat > README << 'EOF'
> This is a sample README file.
> EOF

将文件添加到存储库:

$ git add README

提交初始更改:

$ commit -m "Initial commit"
[master (root-commit) 3171739] Initial commit
 1 file changed, 1 insertion(+)
 create mode 100644 README

检查存储库状态:

$ git status
On branch master
nothing to commit, working tree clean

添加远程仓库:

$ git remote add origin https://github.com/user/repo.git

将更改推送到远程存储库:

$ git push -u origin master

【讨论】:

    【解决方案2】:

    在您问题的第一部分,您似乎使用了错误的命令。
    git push 旨在将您在本地存储库中提交的更改推送到远程。
    如果我理解正确,您想在 GitHub 上“推送”P18.MovieApp。您不能只是将文件直接推送到远程。

    这些是您需要遵循的步骤:

    • 您想使用 git add P18.MovieApp 添加 P18.MovieApp 文件,以便 git 跟踪此文件。
    • 接下来您提交您的更改 (git commit -m "My commit message");
    • 然后您可以推送您对遥控器所做的更改 (git push)。

    如果您没有为此存储库进行远程设置,则需要这样做

    git remote add origin git@github.com:EXAMPLE_USERNAME/your-git-repository-name.git
    git push -u origin main
    

    (您应该会在您创建的 GitHub 存储库页面中看到这些步骤。)

    【讨论】:

    • 你是对的。我想我可以使用“git push”将它上传到 Git 中心。我按照所有三个步骤, git add 和 git commit 都成功了,但是 git push 不起作用。我可能没有远程设置或者那里有什么东西搞砸了(我用教程设置了它)。顺便说一句 - 那我应该如何将文件上传到 GIT 呢?就像我做的那样,通过手动上传(将它们放到 git 页面?)
    • 这里似乎有些混乱。 Git 是管理存储库的版本控制工具,而 GitHub 是提供 Git 存储库托管的服务。 GitHub 将充当您的 Git 存储库的远程,因此您将拥有一个 本地 和一个 远程 的存储库副本。在这种情况下,我真的不知道上传到 GIT 是什么意思,什么是“git 页面”?
    【解决方案3】:

    检查远程 URIs

    如果您可以在没有任何问题的情况下进行提交,但您的推送是问题所在,首先您需要检查您的remote set up.

    使用以下代码行,您可以检查推送和获取 URI

    git remote -v
    

    如果没有显示是因为您还没有定义遥控器。在这种情况下使用下一行代码。

    git remote add origin https://github.com/your-username/your-repository-name.git
    git branch -M main
    git push -u origin main
    
    • 如果您不熟悉 SSH,我建议使用 HTTPS 方向
    • 您可以找到要推送的 HTTPS/SSH 链接,单击“克隆”按钮(如果您使用 GitHub)

    如果remote set up 正确,则问题可能出在您的配置中。运行下一段代码,搜索user.nameuser.email

    git config -l
    

    您可以使用以下代码定义您的user.nameuser.email

    git config --global user.name "FIRST_NAME LAST_NAME"
    git config --global user.email "MY_NAME@example.com"
    

    为避免任何可能的“错误”,请使用来自 GitHub 的电子邮件和用户名

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-15
      • 1970-01-01
      • 2014-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多