git 分支管理

这篇具有很好参考价值的文章主要介绍了git 分支管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一. 理解分支

1. master分支

 二. 分支的(创建,切换、合并、删除)

1.查看分支

 2.创建分支

3. 切换分支

 4. 合并分支

5. 删除分支

三. 合并冲突

四. 合并模式

五. bug 分支

六. 强制删除分支


一. 理解分支

git 分支管理,git,github

1. master分支

在我们的版本库中式有一个master分支的,但是我们不知道我们的master分支是什么 

我们可以看一下master分支里面存的是什么,我们想要看master,我们知道我们的.git目录中的HEAD指针就是指向master,所以我们可以查看HEAD指针指向的内容

[lxy@hecs-165234 gitcode]$ cat .git/HEAD
ref: refs/heads/master

[lxy@hecs-165234 gitcode]$ cat .git/refs/heads/master
fb1fa8ed3e0ed84a2a5d5ecaa7ec7afbfb4b7cd5

实际上我们的master里面存的是最近一次的提交ID

[lxy@hecs-165234 gitcode]$ git log --pretty=oneline
fb1fa8ed3e0ed84a2a5d5ecaa7ec7afbfb4b7cd5 delete file1
1e0bdd4483c99c4498cfcd075a5443bd22feacd4 add file
16d08056d1837be3cf3354332da20e8db4164d66 add file
d70feee2620617fbc8d4ec39a107b9093d6d6783 the first file

 最近一次的提交和master保存的都是一样的 

我们可以简单的看一下我们的 .git文件里面的文件指向

git 分支管理,git,github

我们可以继续看一下master分支里面的内容是什么

[lxy@hecs-165234 gitcode]$ git cat-file -p fb1fa8ed3e0ed84a2a5d5ecaa7ec7afbfb4b7cd5
tree 68047de1b39a8a3f6627648b7ebd160f03ebad78
parent 1e0bdd4483c99c4498cfcd075a5443bd22feacd4
author lxy <2146047600@qq.com> 1687599216 +0800
committer lxy <2146047600@qq.com> 1687599216 +0800

delete file1

我们看到里面有一个parent,实际上这个parent里面就是距离最近提交的上一次的提交 ,所以我们的提交是被串联在一起的,串联的那条线叫做时间线也就是主线,而我们的master也就是主分支

git 分支管理,git,github

 既然master是主分支,所以我们也可以在主分支上金国多次提交,创建分支,创建分支后我们还可以合并分支

git 分支管理,git,github

 二. 分支的(创建,切换、合并、删除)

1.查看分支

指令:git branch

[lxy@hecs-165234 gitcode]$ git branch
* master

 我们当前并没有创建分支,所以我们只有一个master主分支

背景知识:我们只知道HEAD指针式指向master分支的,但是实际上我们的HEAD指针可以指向任意一个分支,我们之前所做的提交都是直接就提交到了master分支上,所以我们的HEAD指针指向哪一个分支,被指向的分支就是当前正在工作的分支

 2.创建分支

指令:git branch + 分支名

我们创建一个 dev 分支,然后使用 git branch 指令查看 

[lxy@hecs-165234 gitcode]$ git branch dev
[lxy@hecs-165234 gitcode]$ git branch
  dev
* master

但是当前 HEAD 依然指向 master 分支

[lxy@hecs-165234 gitcode]$ cat .git/HEAD
ref: refs/heads/master

我们可以 tree 一下 .git 目录,我们看最下面的 refs 目录,之前我们的 refs目录里面只有一个 master 分支, 但是现在还有一个 dev 分支

[lxy@hecs-165234 gitcode]$ tree .git
.git
├── branches
├── COMMIT_EDITMSG
├── config
├── description
├── HEAD
├── hooks
│   ├── applypatch-msg.sample
│   ├── commit-msg.sample
│   ├── post-update.sample
│   ├── pre-applypatch.sample
│   ├── pre-commit.sample
│   ├── prepare-commit-msg.sample
│   ├── pre-push.sample
│   ├── pre-rebase.sample
│   └── update.sample
├── index
├── info
│   └── exclude
├── logs
│   ├── HEAD
│   └── refs
│       └── heads
│           ├── dev
│           └── master
├── objects
│   ├── 0d
│   │   └── b7b10c75f52a26bac87dd0f74c2022d4433551
│   ├── 0f
│   │   ├── 71ccb923b09f79e93f6ce96dbc84d508805b4c
│   │   └── f6aef62b249cdddebc1850135aea6e32cf3e0e
│   ├── 16
│   │   └── d08056d1837be3cf3354332da20e8db4164d66
│   ├── 1e
│   │   └── 0bdd4483c99c4498cfcd075a5443bd22feacd4
│   ├── 68
│   │   └── 047de1b39a8a3f6627648b7ebd160f03ebad78
│   ├── 75
│   │   └── 85c3a879c5cf6a6e61a78e6aeb0b3fcd164a27
│   ├── 82
│   │   └── 3a236d2f60d920980052608b7646418901b48c
│   ├── b5
│   │   └── 64faa66a046f747a58ce9ea8692b0e061d81ae
│   ├── b7
│   │   └── 87d48011046b43caa54c73c74bda9d76065d4d
│   ├── b8
│   │   └── 64093050c8039420193a53f639c49ef18948b9
│   ├── bb
│   │   └── fcc7ec62f2d2b28220e1081681ce009194d667
│   ├── d7
│   │   └── 0feee2620617fbc8d4ec39a107b9093d6d6783
│   ├── e6
│   │   └── 9de29bb2d1d6434b8b29ae775ad8c2e48c5391
│   ├── f3
│   │   └── 25451d76f43cd460d070d6c316e81c85380b07
│   ├── fb
│   │   └── 1fa8ed3e0ed84a2a5d5ecaa7ec7afbfb4b7cd5
│   ├── info
│   └── pack
├── ORIG_HEAD
└── refs
    ├── heads
    │   ├── dev
    │   └── master
    └── tags
 

我们现在查看 master  分支和 dev 分支里面的内容

[lxy@hecs-165234 gitcode]$ cat .git/refs/heads/master
fb1fa8ed3e0ed84a2a5d5ecaa7ec7afbfb4b7cd5
[lxy@hecs-165234 gitcode]$ cat .git/refs/heads/dev
fb1fa8ed3e0ed84a2a5d5ecaa7ec7afbfb4b7cd5

 master 分支和 dev 分支里面存储的内容是相同的,我们大概看一下目前的索引指向情况

git 分支管理,git,github

我们的 dev 指向最新的一次提交,这是因为我们在创建 dev 的时候我们是在最新的一次提交上创建的。

3. 切换分支

如果我们想在当前自己创建的分支上创建,那么我们当然是需要切换到 dev 分支上的,我们切换之后查看是否切换成功

指令:git checkout + 分支名

[lxy@hecs-165234 gitcode]$ git checkout dev
Switched to branch 'dev'
[lxy@hecs-165234 gitcode]$ git branch
* dev
  master
[lxy@hecs-165234 gitcode]$ cat .git/HEAD
ref: refs/heads/dev

git 分支管理,git,github

那么我们现在的HEAD指向 dev 分支,我们现在修改里面的文件呢?

这次我们在 ReadMe 文件里面添加一行信息  "Add on dev branch" 

然后 add commit,commit 后查看ReadMe文件,在 dev 最近一次提交

[lxy@hecs-165234 gitcode]$ vim ReadMe
[lxy@hecs-165234 gitcode]$ git add ReadMe
[lxy@hecs-165234 gitcode]$ git commit -m "add on dev branch"
[dev ab3c339] add on dev branch
 1 file changed, 1 insertion(+)

[lxy@hecs-165234 gitcode]$ cat ReadMe
Hello world
Hello world
Hello world
Hello world
Hello world
Add on dev branch

[lxy@hecs-165234 gitcode]$ cat .git/refs/heads/dev
ab3c339dde2734321c5c24dca1be3863316283ad

 添加成功后,我们切换回master分支,查看文件

[lxy@hecs-165234 gitcode]$ git checkout master
Switched to branch 'master'
[lxy@hecs-165234 gitcode]$ cat ReadMe
Hello world
Hello world
Hello world
Hello world
Hello world

切换回 master  分支后我们发现文件的修改并未在 master 分支里面成功修改,我们继续查看master里面的提交记录

[lxy@hecs-165234 gitcode]$ cat .git/refs/heads/master
fb1fa8ed3e0ed84a2a5d5ecaa7ec7afbfb4b7cd5

 我们发现现在的dev 和 master指向并不相同,我们可以大概看一下 master 和 dev 的指向

git 分支管理,git,github

 4. 合并分支

我们现在向把 dev 分支上的内容合并到 master 分支上怎么弄?

指令:git merge + 想要合并的分支

[lxy@hecs-165234 gitcode]$ git merge dev
Updating fb1fa8e..ab3c339
Fast-forward
 ReadMe | 1 +
 1 file changed, 1 insertion(+)
[lxy@hecs-165234 gitcode]$ cat ReadMe
Hello world
Hello world
Hello world
Hello world
Hello world
Add on dev branch

我们合并后查看,发现确实已经在文件里了

合并后我们查看 master 分支的最近一次的提交,已经和 dev 的最新提交相同了

[lxy@hecs-165234 gitcode]$ cat .git/refs/heads/master
ab3c339dde2734321c5c24dca1be3863316283ad 

 git 分支管理,git,github

5. 删除分支

我们在前面已经将 dev 分支合并了,那么也就是我们的 dev 分支也就没有存在价值了,所以我们需要删除掉 dev 分支,删除掉后我们在查看分支,我们发现分支只剩下 master 分支了

指令:git branch -d + 分支名

[lxy@hecs-165234 gitcode]$ git branch -d dev
Deleted branch dev (was ab3c339).
[lxy@hecs-165234 gitcode]$ git branch
* master

分支删除提示:如果想要删除 a 分支 ,那么就必须到其他的分支上删除 a 分支,否则就是删除不成功

我们成功删除掉 dev 分支后我们看一下索引指向

git 分支管理,git,github

三. 合并冲突

场景:我们现在有一个 dev 分支,当我们在 dev 分支里面对 ReadMe 文件进行的修改,然后我们对 master 分支里面的 ReadMe文件也进行了修改,那么此时我们在 git merge(合并分支) 的时候会怎么样? 首先我们在合并分支的时候我们 git 并不知道我们到底要保留哪一个分支,此时 git merge 就会产生合并冲突

dev 分支做准备工作

[lxy@hecs-165234 gitcode]$ git branch -d dev
Deleted branch dev (was ab3c339).
[lxy@hecs-165234 gitcode]$ git branch
* master
[lxy@hecs-165234 gitcode]$ git branch dev
[lxy@hecs-165234 gitcode]$ git branch
  dev
* master
[lxy@hecs-165234 gitcode]$ git checkout dev
Switched to branch 'dev'
[lxy@hecs-165234 gitcode]$ git branch
* dev
  master
[lxy@hecs-165234 gitcode]$ vim ReadMe
[lxy@hecs-165234 gitcode]$ cat ReadMe
Hello world
Hello world
Hello world
Hello world
Hello world
Add on dev branch 
dev branch 试验合并冲突问题
[lxy@hecs-165234 gitcode]$ git add ReadMe
[lxy@hecs-165234 gitcode]$ git commit -m "dev 试验合并冲突问题"
[dev 3d2ea16] dev 试验合并冲突问题
 1 file changed, 2 insertions(+), 1 deletion(-)

msater 分支做准备工作

[lxy@hecs-165234 gitcode]$ git checkout master
Switched to branch 'master'
[lxy@hecs-165234 gitcode]$ git branch
  dev
* master
[lxy@hecs-165234 gitcode]$ cat ReadMe
Hello world
Hello world
Hello world
Hello world
Hello world
Add on dev branch
[lxy@hecs-165234 gitcode]$ vim ReadMe
[lxy@hecs-165234 gitcode]$ cat ReadMe
Hello world
Hello world
Hello world
Hello world
Hello world
Add on dev branch
master 试验合并冲突问题
[lxy@hecs-165234 gitcode]$ git add ReadMe
[lxy@hecs-165234 gitcode]$ git commit -m "master 试验合并冲突问题"
[master 6531ca4] master 试验合并冲突问题
 1 file changed, 1 insertion(+)

 我们现在看一下此时 分支的指向状态

git 分支管理,git,github

尝试合并 

[lxy@hecs-165234 gitcode]$ git merge dev
Auto-merging ReadMe
CONFLICT (content): Merge conflict in ReadMe
Automatic merge failed; fix conflicts and then commit the result.

我们发现合并失败了

解决冲突 ,我们打开 ReadMe 文件,然后看到我们的冲突代码是被分开的,我们只要手动删除掉某一个冲突代码就好了,然后我们就在进行一次提交就好了

Hello world                                                                                                               
Hello world
Hello world
Hello world
 Hello world
 <<<<<<< HEAD
 Add on dev branch
master 试验合并冲突问题

=======
Add on dev branch
dev branch 试验合并冲突问题

 >>>>>>> dev

上面的红色的就代表有冲突的代码,我们只要删掉两者中的任意一种就可以(我们删除下面的)

[lxy@hecs-165234 gitcode]$ git add ReadMe
[lxy@hecs-165234 gitcode]$ git commit -m "master 试验冲突"
[master 41122ab] master 试验冲突
[lxy@hecs-165234 gitcode]$ git status
# On branch master
nothing to commit, working directory clean
[lxy@hecs-165234 gitcode]$ cat ReadMe
Hello world
Hello world
Hello world
Hello world
Hello world
Add on dev branch
master 试验合并冲突问题

我们看到我们的合并冲突解决了

此时我们的分支指向 ,我们看一下

git 分支管理,git,github

小技巧:我们想要创建并切换一个个新的分支 的时候我们可以使用一句指令就搞定

               指令:git checkout -b + 分支名

查看上面的分支指向图

               git log --graph --abbrev-commit

查看分支指向图

[lxy@hecs-165234 gitcode]$ git log --graph --abbrev-commit
*   commit 41122ab
|\  Merge: 6531ca4 3d2ea16
| | Author: lxy <2146047600@qq.com>
| | Date:   Thu Jun 29 17:53:38 2023 +0800
| | 
| |     master 试验冲突
| |   
| * commit 3d2ea16
| | Author: lxy <2146047600@qq.com>
| | Date:   Thu Jun 29 17:16:49 2023 +0800
| | 
| |     dev 试验合并冲突问题
| |   
* | commit 6531ca4
|/  Author: lxy <2146047600@qq.com>
|   Date:   Thu Jun 29 17:23:27 2023 +0800
|   
|       master 试验合并冲突问题
|  
* commit ab3c339
| Author: lxy <2146047600@qq.com>
| Date:   Wed Jun 28 18:23:54 2023 +0800

|     add on dev branch
|  
* commit fb1fa8e
| Author: lxy <2146047600@qq.com>
| Date:   Sat Jun 24 17:33:36 2023 +0800

|     delete file1
|  
* commit 1e0bdd4
| Author: lxy <2146047600@qq.com>
| Date:   Sat Jun 24 15:03:03 2023 +0800

|     add file

merge 冲突解决总结:手动删除冲突代码,并进行提交 

四. 合并模式

git 其实是有几种模式的,其中一种就是我们在第一次合并的时候的 fast forward 模式,我们下面在复现一下第一次合并的模式

我们创建一个 dev 分支并切换过去,然后将 ReadMe 文件的内容删除到剩余1行 Hello world,然后我们进行 merge, merge之后我们使用 git log --grapg --abbrev-commit 查看 commit 分支

[lxy@hecs-165234 gitcode]$ git checkout -b dev
Switched to a new branch 'dev'
[lxy@hecs-165234 gitcode]$ vim ReadMe
[lxy@hecs-165234 gitcode]$ git add ReadMe
[lxy@hecs-165234 gitcode]$ git commit -m "删除剩余1行 hello world"
[dev 2c7ad00] 删除剩余1行 hello world
 1 file changed, 6 deletions(-)
[lxy@hecs-165234 gitcode]$ cat ReadMe
Hello world


 下面是合并分支


[lxy@hecs-165234 gitcode]$ git checkout master
Switched to branch 'master'
[lxy@hecs-165234 gitcode]$ git merge dev
Updating 41122ab..2c7ad00
Fast-forward
 ReadMe | 6 ------
 1 file changed, 6 deletions(-)

查看 commit 分支


[lxy@hecs-165234 gitcode]$ git log --graph --abbrev-commit
* commit 2c7ad00
| Author: lxy <2146047600@qq.com>
| Date:   Sat Jul 1 15:57:05 2023 +0800

|     删除剩余1行 hello world
|    
*   commit 41122ab
|\  Merge: 6531ca4 3d2ea16
| | Author: lxy <2146047600@qq.com>
| | Date:   Thu Jun 29 17:53:38 2023 +0800
| | 
| |     master 试验冲突
| |   
| * commit 3d2ea16
| | Author: lxy <2146047600@qq.com>
| | Date:   Thu Jun 29 17:16:49 2023 +0800
| | 
| |     dev 试验合并冲突问题
| |   
* | commit 6531ca4
|/  Author: lxy <2146047600@qq.com>
|   Date:   Thu Jun 29 17:23:27 2023 +0800
|   
|       master 试验合并冲突问题
|  

实际上我们发现在 fast forward 模式下 commit 分支是看不出来是 merge 的还是 自己 commit 的

git 分支管理,git,github

实际就像这样,我们的 master 分支是指向了 dev 分支的最新提交,我们并不可以看出来,但是我们的非 no-fast forward 模式可以看出来

* commit 2c7ad00
| Author: lxy <2146047600@qq.com>
| Date:   Sat Jul 1 15:57:05 2023 +0800

|     删除剩余1行 hello world
|    
*   commit 41122ab
|\  Merge: 6531ca4 3d2ea16
| | Author: lxy <2146047600@qq.com>
| | Date:   Thu Jun 29 17:53:38 2023 +0800
| | 
| |     master 试验冲突
| |   

| * commit 3d2ea16
| | Author: lxy <2146047600@qq.com>
| | Date:   Thu Jun 29 17:16:49 2023 +0800
| | 
| |     dev 试验合并冲突问题
| |   
* | commit 6531ca4
|/  Author: lxy <2146047600@qq.com>
|   Date:   Thu Jun 29 17:23:27 2023 +0800

 我们在之前的一次试验merge冲突的时候的模式,我们看到那里显示的是 merge, 而我们不使用 fast forward 模式的指向是这样的

git 分支管理,git,github

那么我们如何在merge 的时候不使用 fast forward 

指令:git merge --no-ff -m "...." 为什么要带 -m 呢? 因为不使用fast forward就是当前分支又提交一次,所以需要带 -m

我们再次使用 dev 分支修改 ReadMe 文件,然后进行提交,切换到 master 后 merge --no-faster 合并,查看是否可以看到提交信息显示 merge

[lxy@hecs-165234 gitcode]$ git checkout dev
Switched to branch 'dev'
[lxy@hecs-165234 gitcode]$ vim ReadMe
[lxy@hecs-165234 gitcode]$ git add ReadMe
[lxy@hecs-165234 gitcode]$ git commit -m "no-fast forward"
[dev 691b883] no-fast forward
 1 file changed, 1 insertion(+)
[lxy@hecs-165234 gitcode]$ git checkout master
Switched to branch 'master'
[lxy@hecs-165234 gitcode]$ git merge --no-ff -m "merge no fast forward"
fatal: No commit specified and merge.defaultToUpstream not set.
[lxy@hecs-165234 gitcode]$ git merge --no-ff dev -m "merge no fast forward"
Merge made by the 'recursive' strategy.
 ReadMe | 1 +
 1 file changed, 1 insertion(+)

查看commit信息


[lxy@hecs-165234 gitcode]$ git log --graph --abbrev-commit
*   commit 8ca3b16
|\  Merge: 2c7ad00 a4a3b7f
| | Author: lxy <2146047600@qq.com>
| | Date:   Sat Jul 1 16:36:38 2023 +0800
| | 
| |     merge no fast forward
| |   
| * commit a4a3b7f
|/  Author: lxy <2146047600@qq.com>
|   Date:   Sat Jul 1 16:35:07 2023 +0800
|   
|       merge no-ff

而我们这一次的提交的指示图就是这样的,我们的 dev 还是指向自己的 提交,但是我们的 master 将提交合并

git 分支管理,git,github

 建议使用 no fast forward 模式

五. bug 分支

场景:我们在开发的过程中发现了 master 分支上的代码有 bug 但是我在这之前对 master 创建了一个分支,并且在上面开发了一些内容,所以我们现在的首要目的是修复 bug 我们要怎么做?

我们需要在 master 上在创建一个分支,然后对 master 上的代码进行修改,所以我们需要切换回 从当前开发分支上切换回 master 分支上,并且创建一个修复 bug 的分支,但是我们在 checkout master 的时候我们显示需要要对当前分支进行 commit/stash,才可以切换回去,然后我们就要在 master 上在创建一个分支,进行 bug 的修复,.......... bug 修符 ........... ,修复完成之后对我们还要继续进行开发,所以我们需要对 git stash 后的内容进行恢复 git stash pop, ....继续开发。

指令: git stash       对工作区的内容进行保存

指令:git stash list      查看保存的工作区内容

指令:git stash pop      恢复工作区的内容

[lxy@hecs-165234 gitcode]$ git branch
* dev1
  master
[lxy@hecs-165234 gitcode]$ git checkout master
error: Your local changes to the following files would be overwritten by checkout:
    ReadMe
Please, commit your changes or stash them before you can switch branches.
Aborting
[lxy@hecs-165234 gitcode]$ git branch
* dev1
  master
[lxy@hecs-165234 gitcode]$ git stash
Saved working directory and index state WIP on dev1: 2c7ad00 删除剩余1行 hello world
HEAD is now at 2c7ad00 删除剩余1行 hello world

在对当前文件进行了 git stash 后我们的 .git/refs 里面就会有一个新的文件


├── ORIG_HEAD
└── refs
    ├── heads
    │   ├── dev1
    │   └── master
    ├── stash
    └── tags
stash 文件就是用来存储 git stash 的内容的


修复 bug ........


继续开发

[lxy@hecs-165234 gitcode]$ git stash pop

继续开发....

当前我们的分支的状态时这样的

git 分支管理,git,github

 我们现在对 dev1 分支已经开发完毕了,我们现在如果直接在 master 分支上进行 merge 的话就是这个样子

git 分支管理,git,github

 

这样的话,我们时恒容易出错的,因为我们的 master分支的内容也修改了,所以我们在进行 merge 的时候回发生合并冲突,我们需要手动的修改,所以时特别容易出错的,我们建议先在 dev 分支上进行合并 这样出错了修改也不会影响到 master 分支上的内容那么我们就是这样的

git 分支管理,git,github 

等我我们合并后将 dev 分支上的冲突问题解决后,我们在到 mater 分支上进行合并,这样就不会冲突了

git 分支管理,git,github 

六. 强制删除分支

如果我们对一个分支不想要了,但是我们并没有对其 merge 操作,我们应该怎么样删除呢?

指令:git branch -D + 分支名

[lxy@hecs-165234 gitcode]$ git checkout -b dev3
Switched to a new branch 'dev3'
[lxy@hecs-165234 gitcode]$ vim ReadMe
[lxy@hecs-165234 gitcode]$ cat ReadMe
Hello world

develop
[lxy@hecs-165234 gitcode]$ git add .
[lxy@hecs-165234 gitcode]$ git commit -m "develop"
[dev3 344d59d] develop
 1 file changed, 2 insertions(+)
[lxy@hecs-165234 gitcode]$ git checkout master
Switched to branch 'master'
[lxy@hecs-165234 gitcode]$ git branch -d dev3
error: The branch 'dev3' is not fully merged.
If you are sure you want to delete it, run 'git branch -D dev3'.
[lxy@hecs-165234 gitcode]$ git branch -D dev3
Deleted branch dev3 (was 344d59d).
[lxy@hecs-165234 gitcode]$ git branch
* master

 

git 分支管理就到这里结束了,下次我们说关于 git 的远程操作~ 文章来源地址https://www.toymoban.com/news/detail-529987.html

到了这里,关于git 分支管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • git分支-分支管理

    现在已经创建、合并和删除了一些分支,让我们来看看一些分支管理工具,在开始经常使用分支时会很有用。 git branch命令不仅仅用于创建和删除分支。如果不带参数运行它,会得到当前分支的简单列表。 $ git branch   iss53 * master   Testing 这个*字符是前缀,表示当前检出的分

    2024年04月10日
    浏览(87)
  • 使用Git Bash拉取github仓库代码(包含分支拉取与切换)

    小白记录一下自己拉取项目的过程 1. 创建一个文件夹,用来存放使用git克隆下来的代码。 2.在此右键打开Git Bash Here。 3.对项目进行克隆,项目地址为github仓库中Code下复制的HTTPS地址。期间可能需要进行身份验证。此时下载了仓库中的master,并创建了本地分支main,且本地分支

    2024年02月16日
    浏览(73)
  • 【Git】分支管理--创建新分支、删除分支、恢复分支

       1、查看所有分支 2、切换到将要复制的现有分支   sourceBranch 为接下来要复制到新分支的现有分支名。创建的新分支依赖当前所在分支,且新分支一旦创建不能更改依赖,所以要提前切换到希望复制的分支 3、创建新分支   newBranch 为新分支名 4、push内容到新分支  

    2024年02月07日
    浏览(48)
  • 04架构管理之分支管理实践-一种git分支管理最佳实践

            专栏说明:针对于企业的架构管理岗位,分享架构管理岗位的职责,工作内容,指导架构师如何完成架构管理工作,完成架构师到架构管理者的转变。计划以10篇博客阐述清楚架构管理工作,专栏名称:架构管理之道         对于架构管理、研发管理中,分支

    2024年02月11日
    浏览(37)
  • git学习笔记 | 版本管理 - 分支管理

    学习文章1 学习文章2 学习文章3 Git是开源分布式版本控制系统,版本控制是一种记录文件内容变化,查阅特定版本修订情况的系统。 说法1 说法2 虽然有两种说法,但大概意思是相同的,前三个区域都在本地,只有远程仓库不在本地。 本地仓库 = 工作区 + 版本区 工作区:本地

    2024年02月10日
    浏览(48)
  • 【Git企业开发】第四节.Git的分支管理策略和bug分支

    文章目录 前言 一、Git的分支管理策略       1.1 Fast forward 模式和--no-ff 模式       1.2 企业分支管理策略 二、bug分支 三、删除临时分支 四、总结 总结 通常合并分支时,如果可能,Git 会采用 Fast forward 模式。还记得如果我们采用 Fast forward 模式之后,形成的合并结果是什么

    2024年02月06日
    浏览(42)
  • Git 分支管理详解

    1.前言  我们先来说一个简单的案例吧,你们团队中有多个人再开发一下项目,一同事再开发一个新的功能,需要一周时间完成,他写了其中的30%还没有写完,如果他提 交了这个版本,那么团队中的其它人就不能继续开发了。但是等到他全部写完再全部提交,大家又看不到他

    2023年04月24日
    浏览(33)
  • 【Git】:分支管理

    在版本回退⾥,你已经知道,每次提交,Git都把它们串成⼀条时间线,这条时间线就可以理解为是⼀个分⽀。截⽌到⽬前,只有⼀条时间线,在Git⾥,这个分⽀叫主分⽀,即master分⽀。 每次提交,master分⽀都会向前移动⼀步,这样,随着你不断提交,master分⽀的线也越来越⻓

    2024年02月21日
    浏览(34)
  • 【git分支管理策略】

    随着开源软件和分布式版本控制系统(如 Git)的普及,分支策略已成为软件开发和项目管理中的重要概念。在本文中,我们将深入探讨 Git 中的分支策略,以及如何有效地使用它们来提高团队协作和项目管理效率。 本文目标: 介绍git基本操作以及整合idea的git插件使用 解读

    2024年01月23日
    浏览(53)
  • Git 分支管理及规范

    1. 分支管理 代码提交在应该提交的分支 随时可以切换到线上稳定版本代码 多个版本的开发工作同时进行 2. 提交记录的可读性 准确的提交描述,具备可检索性 合理的提交范围,避免一个功能就一笔提交 分支间的合并保有提交历史,且合并后结果清晰明了 避免出现过多的分

    2024年02月15日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包