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

x8diyxa7  于 2022-12-17  发布在  Git
关注(0)|答案(9)|浏览(109)

1.我有一个非空目录(例如/etc/something),其中包含无法重命名、移动或删除的文件。
1.我想把这个目录签入git in place。
1.我希望能够使用“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目录,让一切正常吗?

50few1ms

50few1ms1#

假设你已经在<url>上设置了一个git守护进程和一个空仓库:

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

bfhwhh0e2#

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

初始化本地存储库

  • 首先,初始化Git

git初始化

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

git添加。

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

git commit -m '正在添加基本代码'

初始化远程存储库

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

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

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

git远程添加原点https://github.com/hiteshsahu/Hassium-Word.git

同步

  • 现在我们需要将本地代码与远程代码合并。这一步非常关键,否则我们将无法在GitHub上推送代码。推送代码前必须调用'git pull'。

git pull原始主机--允许不相关的历史记录

提交代码

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

git push -u原始主机

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

unftdfkk

unftdfkk3#

我的解决方案是:

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

字符串

5m1hhzi4

5m1hhzi44#

如果远程存储库不为空(如果您在www.example.com上使用IBM DevOps,则属于这种情况hub.jazz.net),则需要使用以下序列:

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

2017年1月30日编辑:请看下面的评论,确保你是正确的回购!

8qgya5xd

8qgya5xd5#

什么时候github存储库不是空的,比如.gitignore和license
使用拉取-允许不相关历史记录推送-强制使用租约
使用命令

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
r7xajy2e

r7xajy2e6#

在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
2j4z5cfb

2j4z5cfb7#

我发现最简单的方法是下面的方法。

  • 这可能不是正式的方式,但它的工作很好。*

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

步骤1:转到“www.github.com
步骤2:使用“README.md“文件创建一个存储库(您可以随意命名)
步骤3:将存储库克隆到您的PC。
步骤4:在克隆的文件夹中,您将获得两个内容:“.git“文件夹和“README.md“文件。将这两个文件复制到您的项目文件夹“XYZ“中。
步骤5:删除克隆的存储库。
第6步:添加,提交和推送项目的所有文件和文件夹。

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

nle07wnf

nle07wnf8#

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

**注意:**我确实使用了github desktop来创建和打开现有的存储库。

xghobddn

xghobddn9#

如果您使用默认的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>

相关问题