协慌网

登录 贡献 社区

如何将现有的非空目录转换为 Git 工作目录并将文件推送到远程存储库

  1. 我有一个非空目录(例如 / etc / something),其中的文件无法重命名,移动或删除。

  2. 我想将此目录检入到 git 中。

  3. 我希望能够使用 “git push” 或类似方法将此存储库的状态推送到远程存储库(在另一台计算机上)。

使用 Subversion 进行此操作很简单(当前,我们使用 Subversion 进行此操作),它使用:

svn mkdir <url> -m <msg>
cd <localdir>
svn co <url> .
svn add <files etc>
svn commit -m <msg>

git 等价的是什么?

我可以 “git clone” 到一个空目录中,然后简单地将. git 目录移动并使其正常工作吗?

答案

<url>上设置了一个 git 守护进程和一个空的存储库:

cd <localdir>
git init
git add .
git commit -m 'message'
git remote add origin <url>
git push -u origin master

这就是我的方法。我添加了解释以了解到底发生了什么。

初始化本地存储库

  • 首先用初始化 Git

    git init

  • 添加所有文件以进行版本控制

    git 添加

  • 创建带有您选择的消息的提交

    git commit -m'添加基础代码'

初始化远程存储库

  • 在 GitHub 上创建一个项目,然后复制您的项目的 URL。如下所示:

    在此处输入图片说明

将远程仓库与本地仓库链接

  • 现在,使用复制的 URL 将本地存储库与远程 GitHub 存储库链接。当您使用 git clone 克隆存储库时,它将自动创建一个称为origin的远程连接,该连接指向复制的存储库。命令 remote 用于管理一组跟踪的存储库。

    git remote add origin https://github.com/hiteshsahu/Hassium-Word.git

同步化

  • 现在我们需要将本地代码与远程代码合并。此步骤至关重要,否则我们将无法在 GitHub 上推送代码。在推送代码之前,您必须调用 “git pull”。

    git pull origin master --allow-unrelated-histories

提交您的代码

  • 最后将所有更改推送到 GitHub

    git push -u 原始主机

这是我的解决方案:

git init
git remote add origin PATH/TO/REPO
git fetch
git checkout -t origin/master