Tôi dường như đã mất công việc buổi chiều của mình trong một repo mới. Dưới đây là những gì tôi đã làm:Các tệp giai đoạn, sau đó thêm từ xa, sau đó kéo - và các tệp của tôi đã biến mất
- Tạo một dự án mới tại địa phương và thực hiện một số công việc.
- Tạo một repo trên github
git init
git add src
git remote add origin [email protected]:Synesso/memx.git
git pull origin master
git add .gitignore
git commit -m 'updated ignore'
git push origin master
Cả repo địa phương và repo github chỉ có hai lần commit. Cam kết ban đầu (được thực hiện bởi github khi tạo dự án) và lệnh thứ hai chỉ bao gồm tệp .gitignore
.
Các tệp được thêm ở bước 4 (git add src
) không có mặt. Họ cũng không xuất hiện để được dàn dựng.
Bạn có mất các tệp được dàn dựng khi bạn thực hiện git pull
không? Tôi có thể lấy chúng bằng cách nào đó không?
trạng thái hiện tại:
$ git status
# On branch master
nothing to commit (working directory clean)
My inital add
không nằm trong reflog.
$ git reflog
c80135d [email protected]{0}: checkout: moving from 999d128ea4e6969f9eacbceebb5f857f2aa5abb0 to master
999d128 [email protected]{1}: checkout: moving from master to HEAD~1
c80135d [email protected]{2}: checkout: moving from 999d128ea4e6969f9eacbceebb5f857f2aa5abb0 to master
999d128 [email protected]{3}: checkout: moving from master to 999d128ea4e6969f9eacbceebb5f857f2aa5abb0
c80135d [email protected]{4}: commit (amend): updated ignore
28b4f90 [email protected]{5}: commit: updated ignore
999d128 [email protected]{6}: initial pull
history
cho thấy rằng tôi đã thêm vào thư mục src
, nhưng không cam kết nó:
223 git init
225 git add src
229 git add project/Build.scala
234 git remote add origin [email protected]:Synesso/memx.git
250 git pull origin master
Tôi biết git sẽ phàn nàn nếu bạn cố gắng để kéo với các tập tin bẩn hiện nay. Nhưng nó là OK với một kéo mà sẽ xóa sạch các tập tin dàn dựng? Điều đó có vẻ sai.
Tôi vừa thử nghiệm lại quy trình này và có, nó sẽ phá hủy các tệp được dàn dựng.
[email protected]:~/projects$ mkdir x
[email protected]:~/projects$ cd x
[email protected]:~/projects/x$ git init
Initialized empty Git repository in /home/jem/projects/x/.git/
[email protected]:~/projects/x$ echo "hi" > hello.world
[email protected]:~/projects/x$ git add hello.world
[email protected]:~/projects/x$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: hello.world
#
[email protected]:~/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
[email protected]:~/projects/x$ git remote add origin [email protected]:Synesso/memx.git
[email protected]:~/projects/x$ git reflog
fatal: bad default revision 'HEAD'
[email protected]:~/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
[email protected]:~/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
[email protected]:~/projects/x$ git reflog
c80135d [email protected]{0}: initial pull
Tập tin hello.world
đã bị xóa mà không cảnh báo.
'git reflog' sẽ hiển thị sửa đổi cây của bạn. Nhưng nếu bạn không bao giờ cam kết các tệp 'src' của mình ... –
Hiện trạng' git' nói gì? – vissi2