Когда используешь git add .
использует фактический путь, по которому вы находитесь (если это репозиторий git). Как бы я сделал для использования git add
, git commit
и git push' outside of the working dir? Like
git 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 "$@"