我有一个非空目录(例如/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目录,一切工作吗?


当前回答

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

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

其他回答

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

初始化本地存储库

首先,初始化Git git init 添加用于版本控制的所有文件 Git添加。 使用您选择的消息创建一个提交

git commit -m ' addingbasecode '

初始化远程存储库

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

连接远程回购和本地回购

现在使用复制的URL链接您的本地回购与远程GitHub回购。当你用git clone克隆一个存储库时,它会自动创建一个名为origin的远程连接,指向克隆的存储库。命令remote用于管理一组被跟踪的存储库。 git远程添加origin https://github.com/hiteshsahu/Hassium-Word.git

同步

现在我们需要合并本地代码和远程代码。这一步至关重要,否则我们将无法在GitHub上推送代码。你必须在推你的代码之前调用'git pull'。 Git pull origin master -allow-unrelated-histories

提交代码

最后,在GitHub上推送所有更改 Git push -u origin master

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

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

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

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

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

什么时候一个github存储库不是空的,像。gitignore和许可证

使用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

做这件事的最简单的方法,我发现有用的是下面。

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

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

第一步:登陆“www.github.com”

步骤2:使用“README”创建存储库。Md”文件(按你喜欢的名字命名)

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

第四步:在克隆文件夹中你会得到两个东西:"。文件夹和一个README。md”文件。复制这两个到你的项目文件夹“XYZ”。

步骤5:删除克隆的repo。

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

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