Skip to content

gongxuanzhang/advanced-git

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

Git高级命令实战

本仓库用于练习各种Git的高级命令:

请fork本仓库,并在你的fork中完成如下操作:

git三种merge方式练习

我们有如下状态的三对分支:

	  A---B---C test-my-feature-1
	 /
    D---E---F test-master-1
    
	  A---B---C test-my-feature-2
	 /
    D---E---F test-master-2

	  A---B---C test-my-feature-3
	 /
    D---E---F test-master-3 

merge

请在test-master-1分支上合并test-my-feature-1分支,并产生一个合并提交,如图所示:

	  A---B---C test-my-feature-1
	 /         \
    D---E---F---G test-master-1

rebase

请在test-my-feature-2分支上rebase test-master-2分支,如图所示:

D---E---F---A'---B'---C' test-my-feature-2
        |
        test-master-2

merge --squash练习

请将test-my-feature-3分支上的3个提交使用merge --squash方式,使得这三个提交被合并成一个提交进入test-master-3分支

	  A---B---C test-my-feature-3
	 /
    D---E---F---G test-master-3 
                |
               压扁后的提交

checkout练习

请基于v6.0这个tag创建一个新的名为release-6x的分支,并将其中的bug修复掉(即删除Product.java中的System.out.println("I have a bug!");语句)

	      release-6x
	     /
    v5.0---v6.0---v7.0---...--- master 

reset练习

请在test-my-feature分支上将最新的三个提交压扁成一个提交:

压扁前:

    D---E---F---G test-my-feature

压扁后:

    D---H test-my-feature
        |
        压扁后的提交

cherry-pick练习

请在master分支上修复Product.java中的bug(即删除其中的System.out.println("I have a bug!");语句),并将修复bug的提交cherry-pick到release-9x分支上。

revert练习

  • 请在master分支上revert 9dfb38fc7f9a33299801c695092de3e2e8b67607 这个提交。
  • 然后再次将你刚刚revert的提交revert掉。

bisect练习

请在v1.0v10.0这两个代码版本之间,使用git bisect命令找到第一个引入bug(即引入System.out.println("I have a bug!");语句)的提交。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%