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

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

  2. 我想把这个目录检查到git中。

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

使用Subversion(目前我们使用Subversion)这是微不足道的:

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

什么是git等价物?

我可以“git clone”到一个空目录中,只需移动. git目录并使一切正常工作吗?

431794 次浏览

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

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

如果远程存储库不为空(如果您在hub.jazz.net上使用IBM运营模式),则需要使用以下顺序:

cd <localDir>git initgit add -A .git pull <url> mastergit commit -m "message"git remote add origin <url>git push

1月30日编辑:请参阅下面的评论,确保您在正确的存储库上!

以下是我的解决方案:

git initgit remote add origin PATH/TO/REPOgit fetchgit checkout -t origin/master

我就是这样做的。我添加了一个解释来理解到底发生了什么。

初始化本地存储库

  • 首先,初始化Git

    gitinit

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

    git add

  • 使用您选择的消息创建提交

#删除基础代码git-m'AddingBaseCode'

初始化远程存储库

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

在此处输入图片描述

将远程存储库与本地存储库链接

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

    git远程添加来源https://github.com/hiteshsahu/Hassium-Word.git

同步

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

    git拉起源主--允许不相关的历史

提交你的代码

  • 最后,在GitHub上推送所有更改

    git push-u来源大师

说明:现在Github使用“main”作为默认分支。如果您的项目使用“main”而不是“master”,只需将上述命令中的“master”替换为“main”

什么时候github仓库不是空的,比如. gitignore和许可证

使用拉取不相关的历史记录带租赁推送

使用命令

git initgit add .git commit -m "initial commit"git remote add origin https://github.com/...git pull origin master --allow-unrelated-historiesgit push --force-with-lease

我遇到了类似的问题。我创建了一个新的存储库,不在我想做存档的目录里。然后我将创建的文件复制到我想要创建存储库的目录中。然后使用我刚刚复制文件的目录打开一个现有的存储库。

注:我确实使用github桌面来制作和打开退出存储库。

这样做的最简单的方法,我觉得有用的是下面的。

这可能不是官方的方式,但效果很好。

假设您的PC上有一个名为“XYZ”的项目。现在你想在github上制作这个项目的git repo并使用它的功能。

步骤1:转到“www.github.com

步骤2:使用“README.md”文件创建一个存储库(随你喜欢命名)

步骤3:将存储库克隆到您的PC。

步骤4:在克隆的文件夹中,您将获得两件事:“.git”文件夹和“README.md”文件。将这两个复制到您的项目文件夹“XYZ”中。

步骤5:删除克隆的存储库。

步骤6:添加、提交和推送项目的所有文件和文件夹。

现在,您可以将项目“XYZ”用作git存储库。

如果您使用默认的readme filelicense创建存储库,这是我的解决方案

git initgit add -Agit commit -m "initial commit"git remote add origin https://<git-userName>@github.com/xyz.git //Add your username so it will avoid asking username each time before you push your codegit fetchgit pull https://github.com/xyz.git <branch>git push origin <branch>

2021年新的官方方式。导航到包含文件的目录。这假设存储库中已经没有文件。

git initgit add .git commit -m "initial commit"git remote add origin https://<git-userName>@github.com/xyz.gigit branch -M main    # Newgit push -u origin main # New

有时我必须使用此命令设置上游。

git branch --set-upstream-to=origin/main main

然后使用此命令强制推送。

git push -u origin main --force