新しいレポで午後の仕事を失ったようです。これが私がしたことです:
- 新しいプロジェクトをローカルに作成し、いくつかの作業を行いました。
- github にレポを作成しました
git init
git add src
git remote add origin git@github.com:Synesso/memx.git
git pull origin master
git add .gitignore
git commit -m 'updated ignore'
git push origin master
私のローカル リポジトリと github リポジトリの両方に 2 つのコミットしかありません。最初のコミット (プロジェクトの作成時に github によって行われる) と、ファイルのみを含む 2 番目のコミット.gitignore
。
手順 4 で追加したファイル ( git add src
) が存在しません。また、上演されているようにも見えません。
を実行すると、ステージングされたファイルが失われますgit pull
か? どうにかしてそれらを取り戻すことはできますか?
現在の状態:
$ git status
# On branch master
nothing to commit (working directory clean)
私add
のイニシャルはreflogにありません。
$ git reflog
c80135d HEAD@{0}: checkout: moving from 999d128ea4e6969f9eacbceebb5f857f2aa5abb0 to master
999d128 HEAD@{1}: checkout: moving from master to HEAD~1
c80135d HEAD@{2}: checkout: moving from 999d128ea4e6969f9eacbceebb5f857f2aa5abb0 to master
999d128 HEAD@{3}: checkout: moving from master to 999d128ea4e6969f9eacbceebb5f857f2aa5abb0
c80135d HEAD@{4}: commit (amend): updated ignore
28b4f90 HEAD@{5}: commit: updated ignore
999d128 HEAD@{6}: initial pull
history
フォルダーを追加したsrc
が、コミットしていないことを示しています。
223 git init
225 git add src
229 git add project/Build.scala
234 git remote add origin git@github.com:Synesso/memx.git
250 git pull origin master
ダーティファイルが存在する状態でプルしようとすると、gitが文句を言うことはわかっています。しかし、ステージングされたファイルを消去するプルを実行しても問題ありませんか? それは間違っているようです。
このプロセスをもう一度テストしたところ、はい、ステージングされたファイルが破棄されます。
jem@jem-usb:~/projects$ mkdir x
jem@jem-usb:~/projects$ cd x
jem@jem-usb:~/projects/x$ git init
Initialized empty Git repository in /home/jem/projects/x/.git/
jem@jem-usb:~/projects/x$ echo "hi" > hello.world
jem@jem-usb:~/projects/x$ git add hello.world
jem@jem-usb:~/projects/x$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: hello.world
#
jem@jem-usb:~/projects/x$ ls -asl
total 24
4 drwxrwxr-x 3 jem jem 4096 Apr 28 20:56 .
4 drwxr-xr-x 8 jem jem 4096 Apr 28 20:56 ..
4 drwxrwxr-x 7 jem jem 4096 Apr 28 20:56 .git
12 -rw-rw-r-- 1 jem jem 3 Apr 28 20:56 hello.world
jem@jem-usb:~/projects/x$ git remote add origin git@github.com:Synesso/memx.git
jem@jem-usb:~/projects/x$ git reflog
fatal: bad default revision 'HEAD'
jem@jem-usb:~/projects/x$ git pull origin master
remote: Counting objects: 7, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 7 (delta 0), reused 3 (delta 0)
Unpacking objects: 100% (7/7), done.
From github.com:Synesso/memx
* branch master -> FETCH_HEAD
jem@jem-usb:~/projects/x$ ls -asl
total 36
4 drwxrwxr-x 3 jem jem 4096 Apr 28 20:53 .
4 drwxr-xr-x 8 jem jem 4096 Apr 28 20:52 ..
4 drwxrwxr-x 8 jem jem 4096 Apr 28 20:53 .git
12 -rw-rw-r-- 1 jem jem 59 Apr 28 20:53 .gitignore
12 -rw-rw-r-- 1 jem jem 9 Apr 28 20:53 README.md
jem@jem-usb:~/projects/x$ git reflog
c80135d HEAD@{0}: initial pull
ファイルhello.world
は警告なしに削除されました。