It does not warn me in this case. I replayed it again, below is my process: $ mkdir bug_test $ cd bug_test/ $ git init Initialized empty Git repository in /home/libenchao/tmp/bug_test/.git/ $ echo 'hello' > README.md $ git add README.md $ git commit -m 'Add README.md' [master (root-commit) 9cdb3a8] Add README.md 1 file changed, 1 insertion(+) create mode 100644 README.md $ git checkout -b A Switched to a new branch 'A' $ echo 'world' >> README.md $ git commit -a -m 'Add one line' [A 6f0b0a3] Add one line 1 file changed, 1 insertion(+) $ git checkout master Switched to branch 'master' $ git checkout -b B Switched to a new branch 'B' $ echo 'world' >> README.md $ git commit -a -m 'Add one line too' [B d89cf11] Add one line too 1 file changed, 1 insertion(+) $ vim README.md # in this line, I modify line 2 'world' to 'git' $ cat README.md hello git $ git commit -a -m 'Modify one line' [B a674427] Modify one line 1 file changed, 1 insertion(+), 1 deletion(-) $ git checkout master Switched to branch 'master' $ git merge A Updating 9cdb3a8..6f0b0a3 Fast-forward README.md | 1 + 1 file changed, 1 insertion(+) $ git checkout B Switched to branch 'B' $ git rebase master First, rewinding head to replay your work on top of it... Applying: Modify one line $ cat README.md hello git $ 2016-05-13 15:10 GMT+08:00 Pranit Bauva <pranit.bauva@xxxxxxxxx>: > On Fri, May 13, 2016 at 12:27 PM, 李本超 <libenchao@xxxxxxxxx> wrote: >> Yes, you got the right understanding of my problem. >> >> You are right, the git behavior is quite correct. But I met this >> problem in my practical work: >> >> My colleague added a method but I didn't know. I also added the same method. >> Then I found that I didn't need the method actually, so I deleted it. >> My colleague merged to the master before me. When I wanted to merge, I found >> conflicts with master. And I rebased to current master. And That method was >> deleted finally without any warning or information. > > I am quite sure that there would be an output to show that there are > conflicts and it would be suggesting you to first resolve the > conflicts and there would also be markers in the file like ">>>>>" and > "======" and the file would be marked with "both modified". After you > resolve the conflicts, you can add the file by using git-add and then > "git rebase --continue" to proceed. If you find out that there is some > problem, then you can always use "git rebase --abort" to abort the > rebase process and get to the initial state *perfectly* without any > glitches. > >> Do you think Git should output something to warn the user or I just >> use Git in a wrong way ? > > It does warn. I don't know how it got missed in your case. This is > quite a common problem and even I have faced this quite for quite a > lot of times now and it always did warn me. > >> Thanks. > > I will recommend you reading this article[1]. I know its a bit of a > long read but it will help a lot. > > [1]: http://tedfelix.com/software/git-conflict-resolution.html > > Regards, > Pranit Bauva -- Benchao Li School of Electronics Engineering and Computer Science, Peking University Tel:+86-15650713730 Email: libenchao@xxxxxxxxx; libenchao@xxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html