Я установил git версии 2.2, но не могу выполнять команды git stash и git pull в моем каталоге. Я получаю следующее сообщение об ошибке при запуске git stash и git pull
fatal: Not a git repository (or any of the parent directories):
Кто-нибудь может помочь, как сделать мой рабочий каталог репозиторием git?
Судя по вашему комментарию, проблема заключается в том, что вы еще не инициализировали репозиторий git в своем каталоге.
Git хранит данные и метаданные в .git
каталог, хранящийся на верхнем уровне репозитория git. Если репозиторий еще не инициализирован, не существует «чистого состояния», в которое git stash
может вернуть файлы. Вам нужно будет создать репозиторий, а затем сделать коммит, и только тогда вы сможете спрятать последующие изменения.
Поскольку вы, кажется, новичок в git, я настоятельно рекомендую держаться подальше от 'stash 'и сохраняя коммиты в отдельные ветки, если вам нужно куда-то спрятать свои изменения. Тайники быстро запутываются.
mkdir mygit || exit -1
cd mygit
git init
date > file.txt
git add file.txt
git commit -m 'My initial commit'
date >> file.txt
git status
git diff
git stash
git status
git diff
cd ..
rm -rf mygit
Вот пример, прямо из оболочки:
$ mkdir mygit || exit -1
$ cd mygit
$ git init
Initialized empty Git repository in /Users/dfarrell/mygit/.git/
$ date > file.txt
$ git add file.txt
$ git commit -m 'My initial commit'
[master (root-commit) 21de065] My initial commit
1 file changed, 1 insertion(+)
create mode 100644 file.txt
$ date >> file.txt
$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: file.txt
no changes added to commit (use "git add" and/or "git commit -a")
$ git diff
diff --git a/file.txt b/file.txt
index 99e9a80..8dcda34 100644
--- a/file.txt
+++ b/file.txt
@@ -1 +1,2 @@
Mon Dec 15 16:00:32 CST 2014
+Mon Dec 15 16:00:32 CST 2014
$ git stash
Saved working directory and index state WIP on master: 21de065 My initial commit
HEAD is now at 21de065 My initial commit
$ git status
On branch master
nothing to commit, working directory clean
$ git diff
$ cd ..
$ rm -rf mygit
$