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

时间:2010-07-22 17:48:36

标签: git

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

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

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

  4. 使用Subversion(目前我们使用Subversion)使用:

    这是微不足道的
    svn mkdir <url> -m <msg>
    cd <localdir>
    svn co <url> .
    svn add <files etc>
    svn commit -m <msg>
    

    什么是git等价物?

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

9 个答案:

答案 0 :(得分:953)

鉴于您已在<url>和空存储库上设置了一个git守护程序:

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

答案 1 :(得分:40)

这就是我的方式。我已经添加了解释,以了解到底发生了什么。

初始化本地存储库

  • 首先使用

    初始化Git
      

    git init

  • 使用

    添加版本控制的所有文件
      

    git add。

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

      

    git commit -m&#39; AddingBaseCode&#39;

初始化远程存储库

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

    enter image description here

使用本地仓库链接远程仓库

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

      

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

<强>同步

  • 现在我们需要将本地代码与远程代码合并。这一步很重要,否则我们就能在Github上推送代码了。 你必须致电&#39; git pull&#39;在推送代码之前。

      

    git pull origin master --allow-unrelated-histories

提交您的代码

  • 最后在Github上推送所有更改

      

    git push -u origin master

答案 2 :(得分:23)

这是我的解决方案:

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

答案 3 :(得分:13)

如果远程存储库不为空(如果您在hub.jazz.net上使用IBM DevOps就是这种情况),那么您需要使用以下序列:

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

编辑1月30日17日: 请参阅下面的评论,确保您使用正确的回购!

答案 4 :(得分:4)

什么时候github存储库不为空,例如.gitignore和license

使用 pull -allow-unrelated-histories push -force-with-lease

使用命令

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

答案 5 :(得分:1)

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

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

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

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

然后用这个命令强制推送。

git push -u origin main --force

答案 6 :(得分:0)

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

注意::我确实使用github桌面制作并打开了现有的存储库。

答案 7 :(得分:0)

下面是我认为最有用的最简单方法。

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

假设您的PC上有一个名为“ XYZ”的项目。 现在,您想在github上对该项目进行git repo并使用其功能。

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

第2步:使用“ README.md”文件创建存储库(根据需要命名)

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

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

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

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

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

答案 8 :(得分:0)

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

git init
git add -A
git 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 code
git fetch
git pull https://github.com/xyz.git <branch>
git push origin <branch>