Зачем мне нужны права root для выполнения `git branch -a`? - PullRequest
0 голосов
/ 01 сентября 2018

Git-репозиторий находится под моим именем пользователя nikhil и группой nikhil следующим образом:

$ ls -l
drwxr-xr-x 10 nikhil nikhil 4096 Sep  1 12:33 CS/

Я могу получить статус git как git status без прав root.

Но когда я пытаюсь перечислить ветви:

$  git branch -a

ничего не происходит.

Также с правами суперпользователя:

$ sudo git branch -a
[sudo] password for nikhil:
* master
  remotes/origin/feature
  remotes/origin/master

в нем перечислены все мои хранилища.

Почему это так?


Редактировать: вывод ls -lh .git

$ ls -lh .git
total 332K
drwxr-xr-x   2 nikhil nikhil 4.0K May 25 16:32 branches
-rw-r--r--   1 nikhil nikhil    2 Sep  1 12:25 COMMIT_EDITMSG
-rw-r--r--   1 nikhil nikhil 5.6K Sep  1 12:33 config
-rw-r--r--   1 nikhil nikhil   73 May 25 16:32 description
-rw-r--r--   1 nikhil nikhil   90 Sep  1 12:33 FETCH_HEAD
-rw-rw-r--   1 nikhil nikhil   23 Sep  1 12:33 HEAD
drwxr-xr-x   2 nikhil nikhil 4.0K Jun 11 15:25 hooks
-rw-r--r--   1 nikhil nikhil 229K Sep  1 12:34 index
-rw-r--r--   1 nikhil nikhil  44K Jun 11 08:56 INDEX
drwxr-xr-x   2 nikhil nikhil 4.0K Jun 11 15:25 info
drwxr-xr-x   3 nikhil nikhil 4.0K Jun 11 15:28 logs
drwxr-xr-x   8 nikhil nikhil 4.0K Aug 11 18:01 modules
drwxr-xr-x 260 nikhil nikhil 4.0K Jun 27 15:29 objects
-rw-rw-r--   1 nikhil nikhil   41 Sep  1 12:33 ORIG_HEAD
drwxr-xr-x   5 nikhil nikhil 4.0K Jun 11 15:25 refs

В моей .bashrc:

я обнаружил проблему, связанную с Анакондой
export PATH="$HOME/anaconda3/bin:$PATH"
if [ -f $HOME/anaconda3/etc/profile.d/conda.sh ]; then
    source $HOME/anaconda3/etc/profile.d/conda.sh
fi
conda activate

Что мне делать? Когда я это комментирую git branch -a работает.

1 Ответ

0 голосов
/ 02 сентября 2018

conda предоставляет свой собственный pager двоичный файл (не more или less, а pager). Использование sudo очищает ваш PATH - так что это решает проблему не за счет изменения разрешений, а за счет того, что этот неисправный двоичный файл вообще не используется.

Чтобы избежать нежелательных действий, уберите его с пути:

mv ~/anaconda3/bin/pager{,.bad}
...