2012-03-15 2 views
0

Итак, я новичок в работе с Ruby on Rails. Я все сделал и подтолкнул его к git, затем мой проект вернулся к старой версии. Моя последняя версия безопасно хранится на git, но теперь все исходные файлы на моем компьютере исчезли и заменены более старыми версиями. Что происходит?Вдавлено Гит, все исчезло?

EDIT: подробнее:

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: .DS_Store 
# modified: app/.DS_Store 
# modified: app/assets/stylesheets/static_pages.css.scss 
# modified: app/views/static_pages/home.html.erb 
# 
# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
# app/assets/.DS_Store 
# app/assets/images/.DS_Store 
# public/chat.png 
# public/groups.png 
# public/join-free.png 
# public/login-button.png 
# public/meetups.png 
# public/people.png 
# public/posts.png 
# public/profile.png 
# public/stream.png 
# public/streambaby.png 
# public/streamblue.png 
# public/streamlime.png 
no changes added to commit (use "git add" and/or "git commit -a") 
Lasers-MacBook-Pro:meetumea lasernite$ git add . 
Lasers-MacBook-Pro:meetumea lasernite$ git commit -m "home page basic" 
[master 49921d4] home page basic 
Committer: Laser Nite <[email protected]> 
Your name and email address were configured automatically based 
on your username and hostname. Please check that they are accurate. 
You can suppress this message by setting them explicitly: 

    git config --global user.name "Your Name" 
    git config --global user.email [email protected] 

After doing this, you may fix the identity used for this commit with: 

    git commit --amend --reset-author 

18 files changed, 144 insertions(+), 9 deletions(-) 
create mode 100644 app/assets/.DS_Store 
create mode 100644 app/assets/images/.DS_Store 
rewrite app/assets/stylesheets/static_pages.css.scss (100%) 
rewrite app/views/static_pages/home.html.erb (100%) 
create mode 100644 public/chat.png 
create mode 100644 public/groups.png 
create mode 100644 public/join-free.png 
create mode 100644 public/login-button.png 
create mode 100644 public/meetups.png 
create mode 100644 public/people.png 
create mode 100644 public/posts.png 
create mode 100644 public/profile.png 
create mode 100644 public/stream.png 
create mode 100644 public/streambaby.png 
create mode 100644 public/streamblue.png 
create mode 100644 public/streamlime.png 
Lasers-MacBook-Pro:meetumea lasernite$ git branch 
* master 
    work 
Lasers-MacBook-Pro:meetumea lasernite$ git push 
Counting objects: 39, done. 
Delta compression using up to 8 threads. 
Compressing objects: 100% (27/27), done. 
Writing objects: 100% (27/27), 60.94 KiB, done. 
Total 27 (delta 11), reused 0 (delta 0) 
To [email protected]:lasernite/meetumea.git 
    a78c8f0..49921d4 master -> master 
Lasers-MacBook-Pro:meetumea lasernite$ git status 
# On branch master 
nothing to commit (working directory clean) 
Lasers-MacBook-Pro:meetumea lasernite$ git co work 
Switched to branch 'work' 
Lasers-MacBook-Pro:meetumea lasernite$ git status 
# On branch work 
nothing to commit (working directory clean) 

Затем я заметил, что все мои файлы были старые версии, и все мои новые образы исчезли из папки общего доступа. Я просто запускал rm -rf meetumea, а затем клонировал свой проект из github, поэтому проблема решена. Я все равно хотел бы знать, что произошло.

+2

Не знаете, что произошло, вам нужно больше деталей. Я попытался бы вытащить из Github, если это не сработает, вам, возможно, придется вернуться к прошлому состоянию вашего местного репо. –

+0

Какие именно команды вы выполняете? –

+0

отредактировано - добавлено все, что прошло через терминал. – Laser

ответ

4

Похоже, вы создали ветку под названием «работа», предшествующую тому, что вы вставили в свой вопрос. Затем вы совершили некоторые изменения в основной ветке («newcommit» ниже) и нажали эту кнопку. Затем вы проверили ветвь «работа», которая отделяется от новых коммитов. Это означает, что он не будет содержать новые коммиты. Если вы снова вернетесь к мастеру проверки, вы снова увидите свои изменения.

newcommit (master) 
    | 
    | 
    |     othercommit (work) 
    |     /
basecommit------------' 

Так что если вы заказываете «работа», то новый коммит не будет находиться на этой ветке. Или, возможно, никогда не было каких-либо новых коммиты на ветке «работы», и в этом случае «работа» по-прежнему указывает на basecommit:

newcommit (master) 
    | 
    | 
    | 
    | 
basecommit (work) 

Так что, если вы извлекаете «работу» вы вернулись раньше существовали newcommit. Помните, что ветви в git - это просто указатели на фиксации, которые автоматически перемещаются при добавлении коммитов (а теги - указатели, которые не перемещаются автоматически).