Назад | Перейти на главную страницу

Используйте команды git с другим путем, а не с фактическим рабочим каталогом

Когда используешь git add . использует фактический путь, по которому вы находитесь (если это репозиторий git). Как бы я сделал для использования git add, git commit и git push' outside of the working dir? Likegit add / Users / zad0xsis / my-git-repo`.

Можно ли этого добиться?

Я успешно использовал git -C вариант. Взято из Документация по Git:

Run as if git was started in <path> instead of the current working directory. 

Очень важно, чтобы -C опция стоит перед фактической командой, которую вы хотите выполнить:

Wrong:   git add . -C some-path
Correct: git -C some-path add .

Это невозможно, потому что git ожидает, что все будет размещено в одном репозитории (каталоге). Если / Users / zad0xsis / my-git-repo является репозиторием git, вам нужно будет записать cd в этот каталог, а затем запустить push, добавить и зафиксировать.

В соответствии с документами git в моей системе (git 1.7.6) вы можете настроить рабочий каталог (где находится код), используя --work-tree или $GIT_WORK_TREE и каталог репозитория (где находятся объекты git), используя --git-dir или $GIT_DIR. Если это не сработает, вы можете использовать сценарий-оболочку, например

#!/bin/bash

cd /desired/path

git "$@"