Git基本操作3
2018-03-15 02:48
134 查看
衔接上文,本文主要讲分支操作和日志操作
修改web1.html从<html>
<body>
This is web page one
</body>
</html>到<html>
<body>
This is web page one
<hr>
And I will altrnate it
</body>
</html>逐步提交到本地仓库hp@pc MINGW64 ~/Desktop/Blog/Git test (master)
$ git add web1.html
hp@pc MINGW64 ~/Desktop/Blog/Git test (master)
$ git commit -m "Version two"
[master 5751ce7] Version two
1 file changed, 2 insertions(+)使用git log可以看到有两次不同的提交hp@pc MINGW64 ~/Desktop/Blog/Git test (master)
$ git log
commit 5751ce772771715a5673730cd7b45092eba78cda (HEAD -> master)
Author: Jason <test@123.com>
Date: Wed Mar 14 11:52:31 2018 -0700
Version two
commit 0ed3e441adc41f2edfe14e4361af84134c4ececc
Author: Jason <test@123.com>
Date: Wed Mar 14 01:08:48 2018 -0700
Version one
可以用git check <commit id>来回退到之前的版本hp@pc MINGW64 ~/Desktop/Blog/Git test (master)
$ git checkout 0ed3e441adc41f2edfe14e4361af84134c4ececc
Note: checking out '0ed3e441adc41f2edfe14e4361af84134c4ececc'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>
HEAD is now at 0ed3e44... Version one用文件编辑器打开文件会发现文件会变回Version one的状态<html>
<body>
This is web page one
</body>
</html>日志也会回滚到Version one的状态hp@pc MINGW64 ~/Desktop/Blog/Git test ((0ed3e44...))
$ git log
commit 0ed3e441adc41f2edfe14e4361af84134c4ececc (HEAD)
Author: Jason <test@123.com>
Date: Wed Mar 14 01:08:48 2018 -0700
Version one
$ git branch
* (HEAD detached at 0ed3e44)
master
$ git log
commit 3dc4dd7c709dbcfe1c158d29e5bd665c5ec1580f (HEAD)
Author: Jason <test@123.com>
Date: Wed Mar 14 12:35:22 2018 -0700
Revision one
commit 0ed3e441adc41f2edfe14e4361af84134c4ececc
Author: Jason <test@123.com>
Date: Wed Mar 14 01:08:48 2018 -0700
Version one
则转到别的分支会提示用户保存, 同时给出一个id号码用于保存当前分支hp@pc MINGW64 ~/Desktop/Blog/Git test ((3dc4dd7...))
$ git checkout master
Warning: you are leaving 1 commit behind, not connected to
any of your branches:
3dc4dd7 Revision one
If you want to keep it by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> 3dc4dd7
Switched to branch 'master'
$ git branch br1
hp@pc MINGW64 ~/Desktop/Blog/Git test (master)
$ git branch
br1
* master使用系统提供的保存号码(上一小节删除分支给出)可以重新创建该分支,相当于保存了下来hp@pc MINGW64 ~/Desktop/Blog/Git test (master)
$ git branch rev1 3dc4dd7
hp@pc MINGW64 ~/Desktop/Blog/Git test (master)
$ git branch
br1
* master
rev1
$ git branch -m br1 br2
hp@pc MINGW64 ~/Desktop/Blog/Git test (master)
$ git branch
br2
* master
rev1
$ git branch -D br2
Deleted branch br2 (was 5751ce7).
使用git merge <name>将指定名字的分支合并到当前分支hp@pc MINGW64 ~/Desktop/Blog/Git test (master)
$ git merge rev1
Auto-merging web1.html
Merge made by the 'recursive' strategy.
web1.html | 1 +
1 file changed, 1 insertion(+)中途系统会提示输入备注信息
上一篇:Git基本操作2
日志操作
当发现程序有bug或其他问题时,可以使用日志中的信息回退到以前提交的版本修改web1.html从<html>
<body>
This is web page one
</body>
</html>到<html>
<body>
This is web page one
<hr>
And I will altrnate it
</body>
</html>逐步提交到本地仓库hp@pc MINGW64 ~/Desktop/Blog/Git test (master)
$ git add web1.html
hp@pc MINGW64 ~/Desktop/Blog/Git test (master)
$ git commit -m "Version two"
[master 5751ce7] Version two
1 file changed, 2 insertions(+)使用git log可以看到有两次不同的提交hp@pc MINGW64 ~/Desktop/Blog/Git test (master)
$ git log
commit 5751ce772771715a5673730cd7b45092eba78cda (HEAD -> master)
Author: Jason <test@123.com>
Date: Wed Mar 14 11:52:31 2018 -0700
Version two
commit 0ed3e441adc41f2edfe14e4361af84134c4ececc
Author: Jason <test@123.com>
Date: Wed Mar 14 01:08:48 2018 -0700
Version one
可以用git check <commit id>来回退到之前的版本hp@pc MINGW64 ~/Desktop/Blog/Git test (master)
$ git checkout 0ed3e441adc41f2edfe14e4361af84134c4ececc
Note: checking out '0ed3e441adc41f2edfe14e4361af84134c4ececc'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>
HEAD is now at 0ed3e44... Version one用文件编辑器打开文件会发现文件会变回Version one的状态<html>
<body>
This is web page one
</body>
</html>日志也会回滚到Version one的状态hp@pc MINGW64 ~/Desktop/Blog/Git test ((0ed3e44...))
$ git log
commit 0ed3e441adc41f2edfe14e4361af84134c4ececc (HEAD)
Author: Jason <test@123.com>
Date: Wed Mar 14 01:08:48 2018 -0700
Version one
分支管理
git的分支如同一棵树,每个分支相当于一个子的本地仓库,互相之间的版本都不相同。其中Master为主要的分支查看分支
使用git branch可以查看当前分支信息,带*号的是当前所处的分支,上一小节中回退到日志的版本会导致新的分支产生。hp@pc MINGW64 ~/Desktop/Blog/Git test ((0ed3e44...))$ git branch
* (HEAD detached at 0ed3e44)
master
跳转分支
使用git checkout <branch name>可以转到其他分支hp@pc MINGW64 ~/Desktop/Blog/Git t 4000 est (master) $ git checkout master hp@pc MINGW64 ~/Desktop/Blog/Git test (master) $ git branch * master如果是自动创建的分支(如上一节回退到以往日志版本)发生修改并且已经提交到了本地仓库hp@pc MINGW64 ~/Desktop/Blog/Git test ((3dc4dd7...))
$ git log
commit 3dc4dd7c709dbcfe1c158d29e5bd665c5ec1580f (HEAD)
Author: Jason <test@123.com>
Date: Wed Mar 14 12:35:22 2018 -0700
Revision one
commit 0ed3e441adc41f2edfe14e4361af84134c4ececc
Author: Jason <test@123.com>
Date: Wed Mar 14 01:08:48 2018 -0700
Version one
则转到别的分支会提示用户保存, 同时给出一个id号码用于保存当前分支hp@pc MINGW64 ~/Desktop/Blog/Git test ((3dc4dd7...))
$ git checkout master
Warning: you are leaving 1 commit behind, not connected to
any of your branches:
3dc4dd7 Revision one
If you want to keep it by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> 3dc4dd7
Switched to branch 'master'
创建分支
使用 git branch <new branch name>可以创建新的分支,新分支是当前分支的一个拷贝hp@pc MINGW64 ~/Desktop/Blog/Git test (master)$ git branch br1
hp@pc MINGW64 ~/Desktop/Blog/Git test (master)
$ git branch
br1
* master使用系统提供的保存号码(上一小节删除分支给出)可以重新创建该分支,相当于保存了下来hp@pc MINGW64 ~/Desktop/Blog/Git test (master)
$ git branch rev1 3dc4dd7
hp@pc MINGW64 ~/Desktop/Blog/Git test (master)
$ git branch
br1
* master
rev1
重命名分支
使用git branch -m name1 name2可以将name1的分支更名为name2hp@pc MINGW64 ~/Desktop/Blog/Git test (master)$ git branch -m br1 br2
hp@pc MINGW64 ~/Desktop/Blog/Git test (master)
$ git branch
br2
* master
rev1
删除分支
使用git branch -D <name>可以将指定名字的分支删除hp@pc MINGW64 ~/Desktop/Blog/Git test (master)$ git branch -D br2
Deleted branch br2 (was 5751ce7).
合并分支
使用git merge <name>将指定名字的分支合并到当前分支hp@pc MINGW64 ~/Desktop/Blog/Git test (master)$ git merge rev1
Auto-merging web1.html
Merge made by the 'recursive' strategy.
web1.html | 1 +
1 file changed, 1 insertion(+)中途系统会提示输入备注信息
上一篇:Git基本操作2
相关文章推荐
- git 基本操作记录
- git 笔记记录(七) git基本操作
- Git基本概念及操作(1)
- git gitHub的基本操作
- git学习三 git基本操作
- git 基本操作
- Linux下git操作(一)——git基本命令
- git基本操作
- [转] git config命令使用第一篇——介绍,基本操作,增删改查
- Git 学习札记(二)安装git以及基本操作
- GIT 开始一次旅行 四 (git 远程基本 操作)
- git 指令的基本操作
- Git学习(二)——基本操作
- GIt常用基本操作
- Git基本操作
- git基本操作
- Android入门教程九之Git使用教程之本地仓库的基本操作
- Git 基本操作1.md
- GIT和SVN之间的区别及基本操作对比
- git基本操作