标签: git

在`ls -l`中显示git分支

是否可以配置ls命令,以便在我使用时ls -l,如果目录是 git 存储库,它会在目录名称后附加 git 分支名称?

这样我就可以快速找到当前目录下的git仓库以及它们的工作状态。

像这样的东西:

-rw-rw-r--  1 michael michael    8 Aug 26 02:07 a-file
drwxrwxr-x  3 michael michael 4096 Aug 26 02:07 a-repo/ (master)
drwxrwxr-x  2 michael michael 4096 Aug 26 02:07 not-a-repo/
Run Code Online (Sandbox Code Playgroud)

注意:我不想显示当前目录的 git branch 或作为 shell 提示的一部分,我已经知道如何.

command-line git ls

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

如何使用 Launchpad 上的子模块从 git 存储库构建?

自从两个月前我们开始使用 Git 子模块以来,我目前正在尝试恢复我们的项目 PPA,并且导入到 Bazaar 停止工作,因为它不支持子模块。所以我删除了 bzr 并成功地将我们的存储库作为 Git 导入到 Launchpad。

可悲的是,在我尝试使用新创建的配方构建它之后,构建失败了,因为存储库没有递归克隆并且子模块仍然不存在。我在 Launchpad 自己的文档中找不到任何帮助,虽然它的支持功能称为“嵌套”,但它似乎不是解决递归克隆的好选择。

如何在构建之前递归创建 Launchpad 克隆存储库?

launchpad ppa git

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

git init 显示“错误:chmod ....git/config.lock 失败:不允许操作”

文件权限对我来说是 Ubuntu 中最糟糕的事情。这次我遇到这个问题:

在此输入图像描述

那么,背景信息:

ntfs分区;

我已经跑了sudo chown *username*:*username* -R partition_mount_point

我可以在那里创建/删除目录,而无需sudo;

git init在 Linux 文件系统上运行没有错误消息;

编辑:我需要能够使用 Windows 中的文件

permissions git ntfs

5
推荐指数
2
解决办法
2万
查看次数

使用正确的颜色查看 git log

我想要watch输出git log --oneline --graph所有颜色,并尝试调整解决方案:Why don't git Colors shown while using watch?,但它只是将(几乎)整个输出呈现为橙色:

输出使用watch -c

$ watch -c git -c color.diff=always log --graph --oneline
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

请注意,从第一个提交哈希开始,所有内容都以橙色打印。这是的输出watch from procps-ng 3.3.10

正常输出=目标

$ git log --graph --oneline
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

附加的输出-c color.diff=always是相同的,cat -A显示正在使用的 ANSI 颜色序列:

$ git -c color.diff=always log --graph --oneline | cat -A
* ^[[33m8ccd905^[[m L
* ^[[33me4ad4f6^[[m E
* ^[[33mf427d2a^[[m U
* ^[[33me8351c8^[[m Z
* ^[[33mf06747c^[[m I
Run Code Online (Sandbox Code Playgroud)

问题

我怎样才能watch git log …

colors command-line git watch-command

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

如何完全静音 git ls-remote?

我正在编写一个迁移 bash 脚本,用于使用 gitLFS 将存储库从 Github 迁移到 Gitlab。

其中一步是检查源存储库和目标存储库是否存在。

在我的搜索中,我发现这git ls-remote非常适合。

对于我的脚本,我想使命令的输出静音(脚本本身稍后会检查它),所以我使用$> /dev/null

git ls-remote -q <URL to repository> $> /dev/null
Run Code Online (Sandbox Code Playgroud)

来自man git ls-remote

-q, --quiet: 不将远程 URL 打印到 stderr。

成功后我没有得到任何输出并git ls-remote退出0

失败时(可能是由于提供不正确的凭据或未找到存储库引起的),它会退出,128但我总是看到此输出

remote: Invalid username or password.
fatal: Authentication failed for '<URL to repository>'
Run Code Online (Sandbox Code Playgroud)

或者

remote: Repository not found.
fatal: repository '<URL to repository>' not found
Run Code Online (Sandbox Code Playgroud)

怎样才能彻底沉默呢git ls-remote

bash git

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

如何在本地配置 Git?

我通过以下方式安装了 Git:

 sudo apt-get install git    
# add-apt-repository ppa:git-core/ppa 
# apt update; apt install git
Run Code Online (Sandbox Code Playgroud)

以 root 安装,但使用 sudo。我使用的命令是:

git config global user.name
Run Code Online (Sandbox Code Playgroud)

但是都在同一个分区中,具体如下:

sda1 vfat      543B-94D1    /boot/efi    977M root  disk  brw-rw----
sda2 ext4   5b5eb118-5ba4-409a-82ee-6526a13554ae /boot    977M root  disk  brw-rw----
sda3 swap   36aa7937-43db-4445-808b-9e8717d01daf [SWAP]   15,3G root disk  brw-rw----
sda4 ext4   27e1d5a1-4204-43b9-abcc-2c2f2de33c9e /  142G root  disk  brw-rw----
sda5 ext4    7da1ca1c-faa7-402a-b669-b2561ebd249c /home   772,4G root  disk  brw-rw----
Run Code Online (Sandbox Code Playgroud)

但是我在同一个分区中拥有所有内容:接下来,我尝试使用我的数据在本地配置 Git,但出现错误:

fatal: not in a git directory
Run Code Online (Sandbox Code Playgroud)

我应该如何进行?为什么我有那个错误?谢谢你。

git

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

如何构建 PHP 7.3?

我在从 git 构建 PHP 7.3 包时遇到问题。目前我正在使用 Ubuntu 16.04 和 utdatet php 7.0.x。(不可能在我的 VPS 上将 Ubuntu 16.04 升级到 18.04,因为它在启动时崩溃。我只有 Virtuozzo 来调试,我找不到它崩溃的点,所以升级到 18.04 还不是一个选项。)

到目前为止我的步骤:

我已经安装了所有用于构建的程序(git、build Essential、libtool、bison 和 re2c)。

我从 GitHub 克隆了 git:

git clone https://github.com/php/php-src.git 
Run Code Online (Sandbox Code Playgroud)

然后我选择了我想要的分支:

git checkout PHP-7.3 
Run Code Online (Sandbox Code Playgroud)

然后我跑了:

./buildconf
Run Code Online (Sandbox Code Playgroud)

你下一步怎么做?

我需要以下软件包:

  php7.3
  libapache2-mod-php7.3
  php7.3-mysql
  mysql-server

我没有搜索 PPA,因为我想自己做,以便边做边学。

server php compiling git apache2

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

git 的默认编辑器设置为 nano--如何?

新的 eoan 安装,刚刚安装了 git 和 vim 并从备份中恢复了我的一个项目。配置了 git user.email 和 user.name,做了一些小改动,尝试提交,然后... nano 开始了。我花了一些时间才明白如何在不提交的情况下退出它(顺便说一句,我使用 vim)。VISUAL 和 EDITOR 都没有设置,git 指南说

默认情况下,Git 使用您通过 shell 环境变量VISUAL或之一设置为默认文本编辑器的任何内容EDITOR,或者回退到vi编辑器来创建和编辑您的提交和标记消息。

https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration)。

好吧,我在我的个人资料中设置了 EDITOR=vi,但我想了解这里发生了什么。任何的想法?

vim git

5
推荐指数
2
解决办法
2480
查看次数

将 git 引入 ubuntu 核心的最简洁方法是什么?

有很多理由在 Ubuntu 核心上使用 git,例如使用 python3 或运行 docker-compose 之类的东西(核心附带 python3 并且 docker 可以作为快照使用)。

但是,Ubuntu 核心没有可用的 git。

  • 它没有附带 git
  • 没有 git snap
  • 核心上没有c编译器来编译它

当然,可以将其从常规 Ubuntu 机器上移走,使用 docker 或 LXD 安装常规 debian 软件包,但这些都不是非常干净和严格的方法。

在核心上获取 git 的预期且干净的方法是什么?

git ubuntu-core software-installation

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

在 ppa 中搜索最新版本的 git 和 cmake

我正在为 Lucid Server 寻找两个 PPA。

一个用于 git,我发现Git 的 Git 稳定版本是 Git,这是正确的吗?我没有找到任何用于 cmake 的 PPA,因此需要支持。

ppa git

4
推荐指数
1
解决办法
2202
查看次数