Git使用總結(jié)三:版本穿梭


掌握創(chuàng)建版本庫(kù)后存皂,本篇咱們將著重討論Git版本穿梭晌坤。版本穿梭,包含版本追蹤回退艰垂、工作區(qū)與暫存區(qū) 泡仗、管理修改與撤銷修改刪除文件四個(gè)內(nèi)容猜憎。大家可能有所疑問(wèn)娩怎,版本穿梭?什么是版本穿梭胰柑?為什么叫版本穿梭截亦?版本穿梭,顧名思義柬讨,使用git add <文件名>崩瓤、git commit -m “提交說(shuō)明”git reset —-hard commit_id 等有效命令踩官,跟蹤并管理文件夾目錄工作區(qū)以及.git版本庫(kù)歷史版本的修改却桶,而非文件。

版本追蹤回退

HEAD指向是當(dāng)前版本蔗牡,git log查看提交版本歷史颖系,git reflog查看命令歷史,git reset —-hard commit_id切換版本歷史辩越。

Git Manual

git status 查看工作區(qū)當(dāng)前狀態(tài)

localhost:learngit admin$ 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:   readme.txt

no changes added to commit (use "git add" and/or "git commit -a")

git diff查看工作區(qū)修改內(nèi)容

localhost:learngit admin$ git diff
diff --git a/readme.txt b/readme.txt
index 2231bd8..2b9b14a 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@
 Now we write a readme file, the file must be put in learngit directory or subdirectory.
-To keep track the status of work area, use the git status command.
\ No newline at end of file
+To keep track the status of work area, use the git status command.^MIf tell you git status files have been modified, use the git diff can view the changes.
\ No newline at end of file

git log 查看提交到倉(cāng)庫(kù)歷史記錄

localhost:learngit admin$ git add readme.txt
localhost:learngit admin$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    modified:   readme.txt

localhost:learngit admin$ git commit -m "add git diff explain sec"
[master eefc07f] add git diff explain sec
 1 file changed, 1 insertion(+), 1 deletion(-)
localhost:learngit admin$ git status
On branch master
nothing to commit, working tree clean
localhost:learngit admin$ git diff
localhost:learngit admin$ git log
commit eefc07feb2351b50afb8728e3f028e36ad0f7029
Author: far <caosuyang@51yunche.com>
Date:   Tue Feb 21 11:02:09 2017 +0800

    add git diff explain sec

commit ec56b0739ebfdc70aabf410364e6e21dec246237
Author: far <caosuyang@51yunche.com>
Date:   Tue Feb 21 10:59:08 2017 +0800

    add git diff explan

commit 73f71b3dd5beed2196900d164636c7523e11bd70
Author: far <caosuyang@51yunche.com>
Date:   Fri Feb 17 12:37:07 2017 +0800

     submit a lot of files at a time

commit f04d8865cf9826ef1214790716ddec64458fcf6c
Author: far <caosuyang@51yunche.com>
Date:   Fri Feb 17 12:30:01 2017 +0800

    write a readme file

git log --pretty=oneline 查看提交到倉(cāng)庫(kù)歷史記錄

localhost:learngit admin$ git log --pretty=oneline
eefc07feb2351b50afb8728e3f028e36ad0f7029 add git diff explain sec
ec56b0739ebfdc70aabf410364e6e21dec246237 add git diff explan
73f71b3dd5beed2196900d164636c7523e11bd70  submit a lot of files at a time
f04d8865cf9826ef1214790716ddec64458fcf6c write a readme file
localhost:learngit admin$ cat readme.txt
Now we write a readme file, the file must be put in learngit directory or subdirectory.
If tell you git status files have been modified, use the git diff can view the changes.

git reset --hard HEAD^ 回退到上個(gè)版本

localhost:learngit admin$ git reset --hard HEAD^
HEAD is now at ec56b07 add git diff explan
localhost:learngit admin$ cat readme.txt
Now we write a readme file, the file must be put in learngit directory or subdirectory.

git reset --hard HEAD^^ 回退到上上個(gè)版本

localhost:learngit admin$ git reset --hard HEAD^^
HEAD is now at f04d886 write a readme file
localhost:learngit admin$ cat readme.txt
localhost:learngit admin$ cat readme.txt
localhost:learngit admin$ , the file must be put in learngit directory or subdirectory.
localhost:learngit admin$ git log
commit f04d8865cf9826ef1214790716ddec64458fcf6c
Author: far <caosuyang@51yunche.com>
Date:   Fri Feb 17 12:30:01 2017 +0800

    write a readme file

git reset --hard eefc07feb23 回到某個(gè)歷史版本

localhost:learngit admin$ git log --pretty=oneline
f04d8865cf9826ef1214790716ddec64458fcf6c write a readme file
localhost:learngit admin$ git reset --hard eefc07feb23
HEAD is now at eefc07f add git diff explain sec
localhost:learngit admin$ git log
commit eefc07feb2351b50afb8728e3f028e36ad0f7029
Author: far <caosuyang@51yunche.com>
Date:   Tue Feb 21 11:02:09 2017 +0800

    add git diff explain sec

commit ec56b0739ebfdc70aabf410364e6e21dec246237
Author: far <caosuyang@51yunche.com>
Date:   Tue Feb 21 10:59:08 2017 +0800

    add git diff explan

commit 73f71b3dd5beed2196900d164636c7523e11bd70
Author: far <caosuyang@51yunche.com>
Date:   Fri Feb 17 12:37:07 2017 +0800

     submit a lot of files at a time

commit f04d8865cf9826ef1214790716ddec64458fcf6c
Author: far <caosuyang@51yunche.com>
Date:   Fri Feb 17 12:30:01 2017 +0800

    write a readme file
localhost:learngit admin$ git log --pretty=oneline
eefc07feb2351b50afb8728e3f028e36ad0f7029 add git diff explain sec
ec56b0739ebfdc70aabf410364e6e21dec246237 add git diff explan
73f71b3dd5beed2196900d164636c7523e11bd70  submit a lot of files at a time
f04d8865cf9826ef1214790716ddec64458fcf6c write a readme file
localhost:learngit admin$ cat readme.txt
Now we write a readme file, the file must be put in learngit directory or subdirectory.
If tell you git status files have been modified, use the git diff can view the changes.

git reset --hard HEAD~n 回退到往上第n個(gè)版本

localhost:learngit admin$ git reset --hard HEAD~3
HEAD is now at f04d886 write a readme file
localhost:learngit admin$ git reflog
f04d886 HEAD@{0}: reset: moving to HEAD~3
eefc07f HEAD@{1}: reset: moving to eefc07feb23
f04d886 HEAD@{2}: reset: moving to HEAD^^
ec56b07 HEAD@{3}: reset: moving to HEAD^
eefc07f HEAD@{4}: commit: add git diff explain sec
ec56b07 HEAD@{5}: commit: add git diff explan
73f71b3 HEAD@{6}: commit: submit a lot of files at a time
f04d886 HEAD@{7}: commit (initial): write a readme file

git reflog 查看命令歷史

localhost:learngit admin$ git reflog
f04d886 HEAD@{0}: reset: moving to HEAD~3
eefc07f HEAD@{1}: reset: moving to eefc07feb23
f04d886 HEAD@{2}: reset: moving to HEAD^^
ec56b07 HEAD@{3}: reset: moving to HEAD^
eefc07f HEAD@{4}: commit: add git diff explain sec
ec56b07 HEAD@{5}: commit: add git diff explan
73f71b3 HEAD@{6}: commit: submit a lot of files at a time
f04d886 HEAD@{7}: commit (initial): write a readme file
localhost:learngit admin$ git reset --hard eefc07f
HEAD is now at eefc07f add git diff explain sec

工作區(qū)和暫存區(qū)

工作區(qū):本地創(chuàng)建的文件夾目錄嘁扼,就是一個(gè)工作區(qū)。工作區(qū)黔攒,用于修改文件趁啸。

工作區(qū)

版本庫(kù):工作區(qū)隱藏目錄.git,就是Git的版本庫(kù)督惰。版本庫(kù)輕易不能動(dòng)不傅,不然就把這個(gè)目錄下的倉(cāng)庫(kù)破壞掉了。版本庫(kù)赏胚,包含暫存區(qū)以及HEAD指向的分支(當(dāng)前分支)访娶。

版本庫(kù)

暫存區(qū):版本庫(kù)中存有暫存區(qū),git add <文件名>就是把工作區(qū)文件的修改添加到暫存區(qū)栅哀。而git commit -m “提交說(shuō)明”把暫存區(qū)所有內(nèi)容添加到HEAD指向的分支(當(dāng)前分支)震肮。

暫存區(qū)

管理與撤銷修改

管理修改

Git跟蹤修改時(shí)称龙,多次使用git add <文件名>,分別將多次工作區(qū)的修改添加到暫存區(qū)戳晌,或者git add .一次性將工作區(qū)所有的修改添加到暫存區(qū)鲫尊。否則,git commit -m “一次性提交所有內(nèi)容”不會(huì)將未添加到暫存區(qū)的修改提交到當(dāng)前分支沦偎。

localhost:learngit admin$ cat readme.txt
Now we write a readme file, the file must be put in learngit directory or subdirectory.
If tell you git status files have been modified, use the git diff can view the changes.
—— fix readme txt ———localhost:learngit admin$ git  add readme,txt
fatal: pathspec 'readme,txt' did not match any files
localhost:learngit admin$ git add readme.txt
localhost:learngit admin$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    modified:   readme.txt

localhost:learngit admin$ cat readme.txt
Now we write a readme file, the file must be put in learngit directory or subdirectory.
If tell you git status files have been modified, use the git diff can view the changes.
—— fix readme txt ———localhost:learngit admin$ fix readme.txt
-bash: fix: command not found
localhost:learngit admin$ git commit -m "git tracks changes"
[master b8134c7] git tracks changes
 1 file changed, 2 insertions(+), 1 deletion(-)
localhost:learngit admin$ git commit -m "git tracks changes"
On branch master
Changes not staged for commit:
    modified:   readme.txt

no changes added to commit
localhost:learngit admin$ git diff HEAD -- readme.txt
diff --git a/readme.txt b/readme.txt
index aaa3b0a..ccbe40b 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,3 +1,4 @@
 Now we write a readme file, the file must be put in learngit directory or subdirectory.
 To keep track the status of work area, use the git status command.^MIf tell you git status files have been modified, use the git diff can view the changes.
-—— fix readme txt ———
\ No newline at end of file
+—— fix readme txt ———
+Git tracks changes of files.
\ No newline at end of file
localhost:learngit admin$ git add readme.txt
localhost:learngit admin$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    modified:   readme.txt

localhost:learngit admin$ git commit -m "git tracks changes 2"
[master 9cf24f9] git tracks changes 2
 1 file changed, 2 insertions(+), 1 deletion(-)
localhost:learngit admin$ git status
On branch master
nothing to commit, working tree clean

撤銷修改

撤銷修改疫向,撤銷對(duì)工作區(qū)的修改。

localhost:learngit admin$ cat readme.txt
Now we write a readme file, the file must be put in learngit directory or subdirectory.
If tell you git status files have been modified, use the git diff can view the changes.
—— fix readme txt ———
Git tracks changes of files.localhost:learngit admin$ git status
On branch master
nothing to commit, working tree clean
localhost:learngit admin$ cat readme.txt
Now we write a readme file, the file must be put in learngit directory or subdirectory.
If tell you git status files have been modified, use the git diff can view the changes.
—— fix readme txt ———
Git tracks changes of files.
git checkout -- filelocalhost:learngit admin$ 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:   readme.txt

no changes added to commit (use "git add" and/or "git commit -a")
localhost:learngit admin$ git checkout --readme.txt
error: unknown option `readme.txt'
usage: git checkout [<options>] <branch>
   or: git checkout [<options>] [<branch>] -- <file>...

    -q, --quiet           suppress progress reporting
    -b <branch>           create and checkout a new branch
    -B <branch>           create/reset and checkout a branch
    -l                    create reflog for new branch
    --detach              detach HEAD at named commit
    -t, --track           set upstream info for new branch
    --orphan <new-branch>
                          new unparented branch
    -2, --ours            checkout our version for unmerged files
    -3, --theirs          checkout their version for unmerged files
    -f, --force           force checkout (throw away local modifications)
    -m, --merge           perform a 3-way merge with the new branch
    --overwrite-ignore    update ignored files (default)
    --conflict <style>    conflict style (merge or diff3)
    -p, --patch           select hunks interactively
    --ignore-skip-worktree-bits
                          do not limit pathspecs to sparse entries only
    --ignore-other-worktrees
                          do not check if another worktree is holding the given ref
    --progress            force progress reporting

localhost:learngit admin$ 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:   readme.txt

no changes added to commit (use "git add" and/or "git commit -a")
localhost:learngit admin$ git checkout -- readme.txt
localhost:learngit admin$ git status
On branch master
nothing to commit, working tree clean
localhost:learngit admin$ cat readme.txt
Now we write a readme file, the file must be put in learngit directory or subdirectory.
If tell you git status files have been modified, use the git diff can view the changes.
—— fix readme txt ———

如果git add .到暫存區(qū)豪嚎,那么回退到git add .到暫存區(qū)前的一個(gè)版本搔驼,然后再對(duì)工作區(qū)撤銷修改。

localhost:learngit admin$ cat readme.txt
Now we write a readme file, the file must be put in learngit directory or subdirectory.
If tell you git status files have been modified, use the git diff can view the changes.
—— fix readme txt ———
Git tracks changes of files.
git checkout -- filelocalhost:learngit admin$ 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:   readme.txt

no changes added to commit (use "git add" and/or "git commit -a")
localhost:learngit admin$ git add readme.txt
localhost:learngit admin$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    modified:   readme.txt

localhost:learngit admin$ cat readme.txt
Now we write a readme file, the file must be put in learngit directory or subdirectory.
If tell you git status files have been modified, use the git diff can view the changes.
—— fix readme txt ———
Git tracks changes of files.
git checkout -- filelocalhost:learngit admin$ git reset HEAD readme.txt
Unstaged changes after reset:
M   readme.txt
localhost:learngit admin$ 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:   readme.txt

no changes added to commit (use "git add" and/or "git commit -a")
localhost:learngit admin$ cat readme.txt
Now we write a readme file, the file must be put in learngit directory or subdirectory.
If tell you git status files have been modified, use the git diff can view the changes.
—— fix readme txt ———
Git tracks changes of files.
git checkout -- filelocalhost:learngit admin$ git checkout --readme.txt
error: unknown option `readme.txt'
usage: git checkout [<options>] <branch>
   or: git checkout [<options>] [<branch>] -- <file>...

    -q, --quiet           suppress progress reporting
    -b <branch>           create and checkout a new branch
    -B <branch>           create/reset and checkout a branch
    -l                    create reflog for new branch
    --detach              detach HEAD at named commit
    -t, --track           set upstream info for new branch
    --orphan <new-branch>
                          new unparented branch
    -2, --ours            checkout our version for unmerged files
    -3, --theirs          checkout their version for unmerged files
    -f, --force           force checkout (throw away local modifications)
    -m, --merge           perform a 3-way merge with the new branch
    --overwrite-ignore    update ignored files (default)
    --conflict <style>    conflict style (merge or diff3)
    -p, --patch           select hunks interactively
    --ignore-skip-worktree-bits
                          do not limit pathspecs to sparse entries only
    --ignore-other-worktrees
                          do not check if another worktree is holding the given ref
    --progress            force progress reporting

localhost:learngit admin$ 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:   readme.txt

no changes added to commit (use "git add" and/or "git commit -a")
localhost:learngit admin$ git checkout -- readme.txt
localhost:learngit admin$ git status
On branch master
nothing to commit, working tree clean
localhost:learngit admin$ cat readme.txt
Now we write a readme file, the file must be put in learngit directory or subdirectory.
If tell you git status files have been modified, use the git diff can view the changes.
—— fix readme txt ———

如果 git commit -m “提交說(shuō)明”提交暫存區(qū)所有內(nèi)容到HEAD指向的分支侈询,在沒(méi)有推送到遠(yuǎn)程倉(cāng)庫(kù)前舌涨,查看歷史版本并且版本回退到fix readme.txt修改工作區(qū)前的一個(gè)版本。

localhost:learngit admin$ cat readme.txt
git checkout --readme.txtNow we write a readme file, the file must be put in learngit directory or subdirectory.
If tell you git status files have been modified, use the git diff can view the changes.
—— fix readme txt ———
Git tracks changes of files.localhost:learngit admin$ 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:   readme.txt

no changes added to commit (use "git add" and/or "git commit -a")
localhost:learngit admin$ git add .
localhost:learngit admin$ git commit -m "git checkout --readme.txt"
[master 5766648] git checkout --readme.txt
 1 file changed, 1 insertion(+), 1 deletion(-)
localhost:learngit admin$ git status
On branch master
nothing to commit, working tree clean
localhost:learngit admin$ git log
commit 5766648ce055e31ae88349bf06a81c80372f02aa
Author: far <caosuyang@51yunche.com>
Date:   Tue Feb 21 15:18:07 2017 +0800

    git checkout --readme.txt

commit 9cf24f963fd2a5d809702b0ca0a3e49b3388c73f
Author: far <caosuyang@51yunche.com>
Date:   Tue Feb 21 14:45:47 2017 +0800

    git tracks changes 2

commit b8134c7179b4d66f8fb0a836707895c4c83f6349
Author: far <caosuyang@51yunche.com>
Date:   Tue Feb 21 14:43:54 2017 +0800

    git tracks changes

commit eefc07feb2351b50afb8728e3f028e36ad0f7029
Author: far <caosuyang@51yunche.com>
Date:   Tue Feb 21 11:02:09 2017 +0800

    add git diff explain sec

commit ec56b0739ebfdc70aabf410364e6e21dec246237
Author: far <caosuyang@51yunche.com>
Date:   Tue Feb 21 10:59:08 2017 +0800

    add git diff explan

commit 73f71b3dd5beed2196900d164636c7523e11bd70
Author: far <caosuyang@51yunche.com>
Date:   Fri Feb 17 12:37:07 2017 +0800

     submit a lot of files at a time

commit f04d8865cf9826ef1214790716ddec64458fcf6c
Author: far <caosuyang@51yunche.com>
Date:   Fri Feb 17 12:30:01 2017 +0800

    write a readme file
localhost:learngit admin$ git log --pretty=oneline
5766648ce055e31ae88349bf06a81c80372f02aa git checkout --readme.txt
9cf24f963fd2a5d809702b0ca0a3e49b3388c73f git tracks changes 2
b8134c7179b4d66f8fb0a836707895c4c83f6349 git tracks changes
eefc07feb2351b50afb8728e3f028e36ad0f7029 add git diff explain sec
ec56b0739ebfdc70aabf410364e6e21dec246237 add git diff explan
73f71b3dd5beed2196900d164636c7523e11bd70  submit a lot of files at a time
f04d8865cf9826ef1214790716ddec64458fcf6c write a readme file
localhost:learngit admin$ git relog
git: 'relog' is not a git command. See 'git --help'.

Did you mean this?
    reflog
localhost:learngit admin$ git reflog
5766648 HEAD@{0}: commit: git checkout --readme.txt
9cf24f9 HEAD@{1}: commit: git tracks changes 2
b8134c7 HEAD@{2}: commit: git tracks changes
eefc07f HEAD@{3}: reset: moving to eefc07f
f04d886 HEAD@{4}: reset: moving to HEAD~3
eefc07f HEAD@{5}: reset: moving to eefc07feb23
f04d886 HEAD@{6}: reset: moving to HEAD^^
ec56b07 HEAD@{7}: reset: moving to HEAD^
eefc07f HEAD@{8}: commit: add git diff explain sec
ec56b07 HEAD@{9}: commit: add git diff explan
73f71b3 HEAD@{10}: commit: submit a lot of files at a time
f04d886 HEAD@{11}: commit (initial): write a readme file
localhost:learngit admin$ git reset --hard 5766648
HEAD is now at 5766648 git checkout --readme.txt
localhost:learngit admin$ git status
On branch master
nothing to commit, working tree clean
localhost:learngit admin$ cat readme.txt
git checkout --readme.txtNow we write a readme file, the file must be put in learngit directory or subdirectory.
If tell you git status files have been modified, use the git diff can view the changes.
—— fix readme txt ———

刪除文件

rm 文件名 刪除文件

localhost:learngit admin$ rm readme.docx

git checkout -- 文件名 用版本庫(kù)版本替換工作區(qū)版本

localhost:learngit admin$ git checkout -- readme.docx

git rm 文件名用于刪除一個(gè)文件扔字,如果文件被提交到當(dāng)前分支囊嘉,那么使用git rm 文件名刪除一個(gè)文件后,可以通過(guò)git checkout — 文件名革为,用版本庫(kù)提交過(guò)的版本替換工作區(qū)被刪除文件的版本扭粱。

但是,替換工作區(qū)的版本是提交前一次最新的版本震檩,而不是git add .后最后一次提交的版本琢蛤,因此,最新一次提交的版本將會(huì)丟失修改內(nèi)容抛虏。

localhost:learngit admin$ rm readme.docx
localhost:learngit admin$ git status
On branch master
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    deleted:    readme.docx

no changes added to commit (use "git add" and/or "git commit -a")
localhost:learngit admin$ git checkout -- readme.docx
localhost:learngit admin$ git status
On branch master
nothing to commit, working tree clean

結(jié)語(yǔ)

Git和SVN比博其,更加靈活輕便,在分支管理方面更加強(qiáng)大嘉蕾。對(duì)于分支管理贺奠,后續(xù)我會(huì)對(duì)其進(jìn)行一次總結(jié)霜旧。

Git暫存區(qū)错忱,也是不同于SVN等集中式版本控制系統(tǒng),類似于“購(gòu)物車”挂据,它在版本穿梭里扮演極其重要的角色以清。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市崎逃,隨后出現(xiàn)的幾起案子掷倔,更是在濱河造成了極大的恐慌,老刑警劉巖个绍,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件勒葱,死亡現(xiàn)場(chǎng)離奇詭異浪汪,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)凛虽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門死遭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人凯旋,你說(shuō)我怎么就攤上這事呀潭。” “怎么了至非?”我有些...
    開(kāi)封第一講書人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵钠署,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我荒椭,道長(zhǎng)谐鼎,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任趣惠,我火速辦了婚禮该面,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘信卡。我一直安慰自己隔缀,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布傍菇。 她就那樣靜靜地躺著猾瘸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪丢习。 梳的紋絲不亂的頭發(fā)上牵触,一...
    開(kāi)封第一講書人閱讀 51,258評(píng)論 1 300
  • 那天,我揣著相機(jī)與錄音咐低,去河邊找鬼揽思。 笑死,一個(gè)胖子當(dāng)著我的面吹牛见擦,可吹牛的內(nèi)容都是我干的钉汗。 我是一名探鬼主播,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼鲤屡,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼损痰!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起酒来,我...
    開(kāi)封第一講書人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤卢未,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體辽社,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡伟墙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了滴铅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片远荠。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖失息,靈堂內(nèi)的尸體忽然破棺而出譬淳,到底是詐尸還是另有隱情,我是刑警寧澤盹兢,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布邻梆,位于F島的核電站,受9級(jí)特大地震影響绎秒,放射性物質(zhì)發(fā)生泄漏浦妄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一见芹、第九天 我趴在偏房一處隱蔽的房頂上張望剂娄。 院中可真熱鬧,春花似錦玄呛、人聲如沸阅懦。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)耳胎。三九已至,卻和暖如春惕它,著一層夾襖步出監(jiān)牢的瞬間怕午,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工淹魄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留郁惜,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓甲锡,卻偏偏與公主長(zhǎng)得像兆蕉,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子搔体,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容