首页 文章

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

提问于
浏览
571
  • 我有一个非空目录(例如/ etc / something),其中包含无法重命名,移动或删除的文件 .

  • 我想将这个目录检查到git中 .

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

这很简单,使用Subversion(目前我们使用Subversion),使用:

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

什么是git等价物?

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

5 回答

  • 27

    如果远程存储库不为空(如果您在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日:请看下面的评论,确保您使用正确的回购!

  • 12

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

    Initialize Local Repository

    • 首先用Git初始化Git

    git init

    • 使用添加版本控制的所有文件

    git add .

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

    git commit -m'AdedingBaseCode'

    Initialize Remote Repository

    • 在Github上创建项目并复制项目的URL并复制项目的URL .

    enter image description here

    Link Remote repo with Local repo

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

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

    Synchronize

    • 现在我们需要将本地代码与远程代码合并 . 这一步很重要,否则我们就能在Github上推送代码了 . You must call 'git pull' before pushing your code.

    git pull origin master --allow-unrelated-histories

    Commit your code

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

    git push -u origin master

  • 19

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

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

    什么时候github存储库不是空的,比如.gitignore和license

    使用 pull --allow-unrelated-historiespush --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
    
  • 923

    这是我的解决方案:

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

相关问题