相关疑难解决方法(0)

使用带Git的条件配置文件

我经常发现自己在Git中改变了我的项目中的单个变量,以便在开发分支上连接到不同的服务器(在JavaScript中,所以我不能使用预处理器定义).

在Git中是否有某种方法我可以有条件地使用一个或另一个文件,具体取决于我所在的分支?

我不能只使用指定的不同URL提交更改,因为这样做会将其保留在我的提交历史记录中,如果我稍后在Master上合并后再返回该版本,它将具有开发服务器URL.

git config

7
推荐指数
2
解决办法
2425
查看次数

如何在删除工作目录时删除git working tree分支?

我删除了它的工作目录,因为这个git工作树不再有用了,然后我git branch -D pubsub-sketch-tree在主存储库的目录下.抛出的错误:

error: Cannot delete branch 'pubsub-sketch-tree' checked out at '/Users/zhouhancheng/??/github_own/sketch_worktree/pubsub-sketch_tree'  
Run Code Online (Sandbox Code Playgroud)

但是'/ Users/zhouhancheng /编程/ github_own/sketch_worktree/pubsub-sketch_tree'已被删除.

git

6
推荐指数
3
解决办法
4228
查看次数

如何为不同的 git 遥控器指定多个 user.name 和 user.email?

我的本地机器上有一个存储库。这个存储库有 2 个 git 遥控器。遥控器 A 和 B。

  • 远程A需要user.name Xuser.email Y
  • 远程B需要user.name Zuser.email W

这可以在git中实现吗?如果是这样,如何?

git

6
推荐指数
1
解决办法
2476
查看次数

Git 分支未显示所有分支

我是使用 Git 的新手,我从 GitHub 克隆了一个分支,当我输入git branch. 完成我的工作后,我成功地将其推送到了一个新的分支。之后,我将该文件夹复制到另一个目录(因为我想有一个备份以避免冲突),输入它,然后键入git branch. 只显示了 3 个分支,知道我在 Github 上有 4 个。

我试图通过将分支克隆到一个新文件夹(输入git clone -b <branch-name> <repo-link-https>)中来解决这个问题,现在只有我克隆的分支出现了..

请问有什么建议吗?

git github git-branch

6
推荐指数
2
解决办法
767
查看次数

单个 git 存储库的多个用户

我们有一个被多个用户使用的服务器。磁盘空间是一个很大的限制,因为我们的 git repo 非常大,每次有人克隆它时,它都会消耗 130G 的空间。

我知道 git 不是设计为集中式工作流,但这是一种非常特殊的情况。我们考虑过升级硬件,但这是一条很长的路,因为它不是云实例。

我试着摆弄,git worktree但很快就遇到了权限问题。我的理想设置是一个单一的存储库,多个用户可以通过它推送和拉取。

我查看了以前的线程,但不幸的是那里没有可靠的建议,而且它们是很旧的线程。因此,任何新的建议将不胜感激。

git gerrit git-worktree

6
推荐指数
1
解决办法
146
查看次数

与git子模块共享一个工作树

假设我有一个库Common,可以使用独立的,并且所使用的项目P1P2,因此,树我想要的样子

/Common/.git
        ...
/P1/.git
    .gitmodules  # points to remote server
    Common/
    ...
/P2/.git
    .gitmodules  # points to remote server
    Common/
    ...
Run Code Online (Sandbox Code Playgroud)

当我进行更改时/Common,我希望能够在提交之前P1P2之前测试它.使用通常的git submodule命令集,我将不得不提交/Common,推送到远程,然后从两个/P1/Common/P2/Common.如果提交中断了某些内容,则无法修改,因为已经发布了错误的更改.或者,我可以git remote add quicktest /Common/P?/Common不触摸远程服务器的情况下拉动.但是这有很多不一致的机会,并且删除破坏的提交是很脏的,/P?/Common以便可以修改它们/Common.

我宁愿认为,在开发过程中,从工作树/Common被使用P1P2,但我不能让/P1/Common一个符号链接/Common,因为git submodule识别符号链接从目录不同.大多数文件系统不允许使用硬链接目录.我可以使用硬链接所有文件

rm -rf /P1/Common
cp -rl /Common /P1/Common
Run Code Online (Sandbox Code Playgroud)

/Common在添加新文件之前效果很好,在这种情况下需要重复此过程.两者都有优雅的方式吗?

  1. 继续git …

git git-submodules

5
推荐指数
1
解决办法
686
查看次数

将文件夹设为符号链接和 git 子模块

简而言之,这是我的项目结构:

 + A
 | + some content
 |
 + B
   + A
Run Code Online (Sandbox Code Playgroud)

我希望在我的主 git 存储库中有一个B指向A. 但由于该A项目包含 main 方法,我希望能够在提交之前快速测试,因此我想要一个指向的符号链接(或者更确切地说,mklink因为我在 Windows 上)A,以便它无需提交即可更新。

windows git symlink mklink

5
推荐指数
1
解决办法
1100
查看次数

GIT存储库的工作目录是什么?

根据我迄今为止阅读GIT的经验,我发现工作目录似乎有点过载.有时人们指的是检查分支的硬盘驱动器上目录,例如在克隆存储库时,分支被检出到repo的新克隆的目录中.

但有时人们只是指一个抽象的位置,其中包含未跟踪的文件修改过的文件,即输入时的红色文本git status

我希望有人可以让我知道工作目录的官方定义.即使是在线的Pro Git书籍也确实有点含糊不清.

注意:我每天都使用它,我只是想知道它是什么.

干杯

git

5
推荐指数
1
解决办法
3208
查看次数

github桌面侧栏中的存储库名称

github桌面程序有一个用于本地存储库的自动命名方案,我找不到手动更改它们的方法。

考虑一下侧边栏的屏幕截图,

在此处输入图片说明

具有4个相同的名称,很难导航。这些文件夹是“等离子”组织下的通用存储库“文件”的不同副本(实际上是不同的分支)。奇怪的是,并非该组织的所有存储库的plasmonics/标题都显示在侧边栏中,我无法确定是什么触发了差异。无论如何,我希望找到一种方法来手动重命名那些侧边栏名称。可能吗?

github github-for-mac github-for-windows

5
推荐指数
1
解决办法
373
查看次数

git命令应该直接在工作目录下运行吗?

假设我有一个 git 工作目录,即该目录有一个名为 .git 的子目录.git

我想知道当我运行 git 命令时当前目录是否重要。可以运行 git 命令吗

  • 直接在工作目录下

  • 直接在工作目录(的子目录)的某个子目录下

  • 直接在工作目录的父目录下?

考虑

  • git 命令可以接受指定某些文件的参数,例如git add
  • git 命令不接受指定某些文件的参数,例如git pull, git push.

linux git

5
推荐指数
1
解决办法
1223
查看次数