git basic branch
git branch <branchName>#create branch
git branch --list#show branch list,
git checkout <branchName>#choose branch,HEAD is pointer of the current branch last commit
复制代码
create a file in branch 0.0.1,then checkout master ,merge 0.0.1
git checkout 0.0.1
echo "b">b.txt
git add b.txt
git commit -m "add b.txt"
git checkout master
git merge 0.0.1
复制代码
git alias
huskyui@ubuntu:~/Desktop/git/lesson07$ git log --graph --decorate --oneline
* 89f9c31 (HEAD -> master, 0.0.1) add b
* 4ed2d10 3
* 96d5837 2
* 26abdbb 1
* c85c670 inital commit复制代码
use alias
huskyui@ubuntu:~/Desktop/git/lesson07$ git config --local alias.tree 'log --graph --decorate --oneline'
huskyui@ubuntu:~/Desktop/git/lesson07$ git tree
* 89f9c31 (HEAD -> master, 0.0.1) add b
* 4ed2d10 3
* 96d5837 2
* 26abdbb 1
* c85c670 inital commit复制代码
checkout -b
git checkout -b iss53
#Switched to a new branch "iss53"
# git branch iss53
# git checkout iss53
复制代码
merge conflict
huskyui@ubuntu:~/Desktop/git/lesson08$ echo "hellowoold">c.txt
huskyui@ubuntu:~/Desktop/git/lesson08$ git add .
huskyui@ubuntu:~/Desktop/git/lesson08$ git commit -m"master commit c.txt"
[master 430916b] master commit c.txt1 file changed, 1 insertion(+)create mode 100644 c.txt
huskyui@ubuntu:~/Desktop/git/lesson08$ git checkout dev
Switched to branch 'dev'
huskyui@ubuntu:~/Desktop/git/lesson08$ ls
a.txt b.txt
huskyui@ubuntu:~/Desktop/git/lesson08$ echo "helloworld">c.txt
huskyui@ubuntu:~/Desktop/git/lesson08$ git add .
huskyui@ubuntu:~/Desktop/git/lesson08$ git commit -m"dev commit c.txt"
[dev 01a61b3] dev commit c.txt1 file changed, 1 insertion(+)create mode 100644 c.txt
huskyui@ubuntu:~/Desktop/git/lesson08$ git checkout master
Switched to branch 'master'
huskyui@ubuntu:~/Desktop/git/lesson08$ git merge dev
Auto-merging c.txt
CONFLICT (add/add): Merge conflict in c.txt
Automatic merge failed; fix conflicts and then commit the result.
huskyui@ubuntu:~/Desktop/git/lesson08$ git status
On branch master
You have unmerged paths.(fix conflicts and run "git commit")(use "git merge --abort" to abort the merge)Unmerged paths:(use "git add <file>..." to mark resolution)both added: c.txtno changes added to commit (use "git add" and/or "git commit -a")
huskyui@ubuntu:~/Desktop/git/lesson08$ vi c.txt
huskyui@ubuntu:~/Desktop/git/lesson08$ git add c.txt
huskyui@ubuntu:~/Desktop/git/lesson08$ git commit -m "fixed conflict"
[master 2e602f6] fixed conflict
huskyui@ubuntu:~/Desktop/git/lesson08$ git diff master..dev
huskyui@ubuntu:~/Desktop/git/lesson08$ git merge dev
Already up to date.
huskyui@ubuntu:~/Desktop/git/lesson08$ git branch --listdev
* master
huskyui@ubuntu:~/Desktop/git/lesson08$ git checkout dev
Switched to branch 'dev'
huskyui@ubuntu:~/Desktop/git/lesson08$ git merge master
Updating 01a61b3..2e602f6
Fast-forward复制代码
abort merge
huskyui@ubuntu:~/Desktop/git/lesson08$ git merge dev
Auto-merging c.txt
CONFLICT (content): Merge conflict in c.txt
Automatic merge failed; fix conflicts and then commit the result.
huskyui@ubuntu:~/Desktop/git/lesson08$ git merge --abort
huskyui@ubuntu:~/Desktop/git/lesson08$ git status
On branch master
nothing to commit, working tree clean
huskyui@ubuntu:~/Desktop/git/lesson08$ git diff master..dev
diff --git a/c.txt b/c.txt
index 74b0666..1d8e2de 100644
--- a/c.txt
+++ b/c.txt
@@ -1 +1 @@
-helloworlxajsdjsads d
+hsdfelloworld
huskyui@ubuntu:~/Desktop/git/lesson08$ git merge dev
Auto-merging c.txt
CONFLICT (content): Merge conflict in c.txt
Automatic merge failed; fix conflicts and then commit the result.
huskyui@ubuntu:~/Desktop/git/lesson08$ ls
a.txt b.txt c.txt
huskyui@ubuntu:~/Desktop/git/lesson08$ git merge dev
error: Merging is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.复制代码
delete branch
git branch -d dev#delete branch dev
复制代码