导航:首页 > 程序命令 > gitbranch命令

gitbranch命令

发布时间:2023-03-21 07:53:09

1. git branch管理常用命令

git
branch管理常用命令查看本地分支[plain]git
branch
*
dev
master
*代表当前位于dev分支查看远程分支[plain]git
branch
--remote
origin/dev
origin/master
创建分支[plain]git
checkout
-b
new_branch
注意,new_branch的代码来自于当前分支切换分支[plain]git
checkout
another_branch
和创建分支就差-b参数push本地分支代码到远端服务器[plain]git
push
origin
branch_name
如果远端服务器没有该分支,将会自动创建pull远端分支代码到本地对应分支[plain]git
pull
origin
branch_name
删除本地分支,首先切换到别的分支,然后才能删除某个分支[plain]git
checkout
b
git
branch
-d
a
删除远程分支[plain]git
push
origin
--delete
branch_name
合并本地分支[plain]git
merge
b
假设当前分支为dev,上面的命令就是将本地的b分支代码合并到当前分支dev中合并远程分支,和前面的几乎一样,[plain]git
merge
origin/b
远程分支b被合并到本地当前分支dev中了。

2. Git工作流程和常用命令分享

git是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于2005年以GPL发布。最初目的是为更好地管理Linux内核开发而设计。林纳斯·托瓦兹在编写第一个版本时就使用了“git”这个名称, 他将工具描述为“愚蠢的内容跟踪器”。

[图片上传失败...(image-c23291-1619063471664)]

四个专有名词:

Workspace:工作区

Index / Stage:暂存区

Repository:仓库区(或本地仓库)

Remote:远程仓库

打开本地生成的.git隐藏文件

创建新项目gittest

创建新文件test.txt

git add <file>

git status显示有变更的文件

git restore <file> 撤回文件修改内容

git commit –m “注释”

修改内容-> 执行git diff工作区和本地仓库的差异

git log显示当前分支的版本历史

git reset --hard HEAD^ 当前版本回退到上一个版本

git reset --hard HEAD^ ^ 当前版本回退到上上一个版本

git reset --hard HEAD~100 回退到前100个版本

恢复已经删除的版本

git reflog 展示所有的提交记录

git reset --hard <版本号> 回退到指定版本

git push origin master 将本地master分支推送到远程master分支,相当于创建远程分支

git checkout -b dev = git branch dev + git checkout dev 创建并切换分支

git branch 不带参数,会列出所有本地的分支;带参数表示创建分支

git branch –d name 删除本地分支(-D表示强制删除)

git branch –r 不带参数,会列出所有远程的分支

git branch --set-upstream-to=origin/<branch本地> 本地和远程分支关联

git push origin –delete <branch> 删除远程分支

git merge release用于合并指定分支到当前分支上

注:Fast-forward表示的合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。在这种模式下,删除分支后,会丢掉分支日志信息。可以使用带参数 --no-ff来禁用”Fast forward”模式。

git merge --no-ff -m “注释”dev

git checkout release 切换release分支

vim test.txt 修改某条内容

git commit test.txt -m “release修改某条内容”

git checkout master 切换master分支

vim test.txt 修改某条同release内容

git commit test.txt -m “master修改某条内容”

git merge release 显示冲突

git status 显示冲突提示

Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中>>>>release 是指release上修改的内容
vim test.txt 修改内容

git add test.txt

git commit -a -m “fix conflict”

当前分支有没有提交但也不合适现在就提交的内容,Git提供了暂储功能stash

git checkout release

vim test.txt 修改test.txt内容

git checkout develop 此时会提示Aborting

git status 查看当前状态

Git stash list 查看所有暂储列表

git stash apply恢复,恢复后stash内容并不删除,你需要使用命令git stash drop来删除;
另一种方式是使用git stash pop,恢复的同时把stash内容也删除了

创建Git Tag并推送远程服务器

git tag -a V1.0.0 –m“注释” //创建TAG

git push origin V1.0.0 //推送到远程服务器

git push origin --tag //提交所有tag至服务器

git tag -d V1.0.0 //删除本地标签

git push origin --delete tag <tagname> //删除远程标签

HEAD,它始终指向当前所处分支的最新的提交点。你所处的分支变化了,或者产生了新的提交点,HEAD就会跟着改变

add相关命令很简单,主要实现将工作区修改的内容提交到暂存区,交由git管理。

git add .添加当前目录的所有文件到暂存区

git add 添加指定目录到暂存区,包括子目录

git add 添加指定文件到暂存区

commit相关命令也很简单,主要实现将暂存区的内容提交到本地仓库,并使得当前分支的HEAD向后移动一个提交点。

git commit -m 提交暂存区到本地仓库,message代表说明信息

git commit --amend -m 使用一次新的commit,替代上一次提交

上传本地仓库分支到远程仓库分支,实现同步。

git push 上传本地指定分支到远程仓库

git push --force强行推送当前分支到远程仓库,即使有冲突

git push --all推送所有分支到远程仓库

关于分支,大概有展示分支,切换分支,创建分支,删除分支这四种操作。

git branch列出所有本地分支

git branch -r列出所有远程分支

git branch -a列出所有本地分支和远程分支

git branch 新建一个分支,但依然停留在当前分支

git checkout -b 新建一个分支,并切换到该分支

git checkout 切换到指定分支,并更新工作区

git branch -d 删除分支

git push origin --delete 删除远程分支

关于分支的操作虽然比较多,但都比较简单好记

merge命令把不同的分支合并起来。在实际开放中,我们可能从master分支中切出一个分支,然后进行开发完成需求,中间经过R3,R4,R5的commit记录,最后开发完成需要合入master中,这便用到了merge。

git merge 合并指定分支到当前分支

注:如果在merge之后,出现conflict,主要是因为两个用户修改了同一文件的同一块区域。需要针对冲突情况,手动解除冲突。

rebase又称为衍合,是合并的另外一种选择。

在开始阶段,我们处于new分支上,执行git rebase dev,那么new分支上新的commit都在dev分支上重演一遍,最后checkout切换回到new分支。这一点与merge是一样的,合并前后所处的分支并没有改变。

git rebase dev,通俗的解释就是new分支想站在dev的肩膀上继续下去。

rebase操作不会生成新的节点,是将两个分支融合成一个线性的提交。

rebase也需要手动解决冲突。

1.如果你想要一个干净的,没有merge commit的线性历史树,那么你应该选择git rebase

2.如果你想保留完整的历史记录,并且想要避免重写commit history的风险,你应该选择使用git merge

reset命令把当前分支指向另一个位置,并且相应的变动工作区和暂存区。

git reset —soft 只改变提交点,暂存区和工作目录的内容都不改变

git reset —mixed 改变提交点,同时改变暂存区的内容

git reset —hard 暂存区、工作区的内容都会被修改到与提交点完全一致的状态

git revert用一个新提交来消除一个历史提交所做的任何修改。

在回滚这一操作上看,效果差不多。git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit。

在 Git工作区的根目录创建一个特殊的.gitignore文件。

在.gitignore文件中,添加需要忽略的文件。

git rm -r --cached . //将仓库中的index递归删除

git add . //重新添加仓库索引

git commit -m “update git.ignore” //提交

git branch --set-upstream-to=origin/<branch> <branch> //重现将本地仓库和远程仓库关联

最后,如果此篇博文对你有所帮助,别忘了点个赞哟~

3. Git常用命令

1.1 配置环境

当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息。该用户信息和GitHub上注册的远程仓库的相关信息没有任何关系。

git config --global user.name "你的名字"

git config --global user.email "你的邮箱"

git config --list

配置信息保存在用户目录下的.giitconfig文件中

1.2 获取Git仓库

要使用Git对我们的代码进行版本控制,首先需要获得Git仓库

获取Git仓库通常有两种方式:

执行步骤如下:

1、在电脑的任意位置创建一个空目录作为我们的本地Git仓库

2、进入这个目录中,点击右键打开Git bash 窗口

3、执行命令git init

可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地的命令形式为:

git clone 远程Git仓库地址

1.3 工作目录、暂存区以及版本库概念

版本库:.git隐藏文件就是版本库,版本库存储了很多配置信息、日志信息和文件版本信息等

工作目录(工作区):包含.git文件夹的目录就是工作目录,主要用于存放开发的代码

暂存区:.git文件夹中有很多文件,其中一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方

1.4 Git工作目录下文件的两种状态

Git工作目录下的文件存在两种状态:

Unmodified 未修改状态

Modified 已修改状态

Staged 已暂存状态

这些文件的状态会随着我们执行Git的命令发生变化

1.5 本地仓库操作

git status 查看文件状态

也可以使用git status -s使输出信息更简洁

git add 将未跟踪的文件加入暂存区,将已经修改的文件加入暂存区也是通过这个命令

git reset 将暂存区文件取消暂存

git commit -m “你的说明” 将暂存区文件提交到本地仓库

git rm 删除文件 说明:这种操作是直接将文件加入到暂存区里面,直接提交到本地仓库生效,而直接删除的话没有进入到暂存区,需要先把文件加入到暂存区之后,再提交到本地仓库。

将文件添加至忽略列表

一般我们总会有些文件无需纳入Git的管理,也不希望他们总出现在未跟踪文件列表。通常这些都是自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。在这种情况下,我们可以在工作目录中创建一个名为.gitnore的文件(文件名称固定),列出忽略的文件模式。下面是一个示例:#代表注释

由于windows无法创建不含文件名的文件,因此我们需要在bash窗口中用如下命令创建。

git log 查看日记记录

1.6 远程仓库操作

如果想查看已经配置的远程仓库服务器,可以运行git remote 命令。它会列出指定的每一个远程服务器的简写。如果已经克隆了远程仓库,那么至少可以看见origin,这是Git克隆的仓库服务器的默认名字

git remote -v 可以查看对远程仓库详细一点的说明

git remote show origin 可以查看对origin更详细的远程仓库的说明

运行git remote add 添加一个远程Git仓库,同时指定一个可以引用的简写

如果你想获得一份已经存在了的Git仓库的拷贝,这时需要用到 git clone 命令。Git克隆的是Git仓库服务器上的几乎所有数据(包括日志信息、 历史 记录等),而不仅仅是复制工作所需要的文件。当你执行git clone 命令的时候,默认配置下Git仓库中的每一个文件的每一个版本都将被拉取下来。

如果因为一些原因想要移除一个远程仓库,可以使用git remote rm

注意:此命令只是从本地移除远程仓库的记录,并不会影响到远程仓库

git fetch 是从远程仓库获取最新版本到本地仓库,不会自动merge

说明:如果使用fetch命令,拉取的文件会放到版本库里面,不会自动整合到工作区,如果需要整合到工作区,需要使用 git merge 远程仓库别名/远程仓库分支

git pull 是从远程仓库获取最新版本并merge到本地仓库

注意:如果本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库中拉取文件的时候会报错(fatal:refusing to merge unrelated histories),解决此我呢提可以在git pull 命令后加入参数 --allow-unrelated-histories

git push

1.7 Git分支

几乎所有的版本控制系统都是以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。Git的master是一个特殊分支。它跟其它分支没有区别。之所以每一个仓库都有mater分支,是因为git init默认创建它,并且大多数人都懒得去改动它。

# 列出所有本地分支

$ git branch

#列出所有远程分支

$ git branch -r

#列出所有本地分支和远程分支

$git branch -a

git branch 分支名称

git checkout 分支名称

git push 远程仓库别名 远程仓库分支

git merge 分支名称 说明:在当前分支下合并其他分支

注意:如果两个分支存在同样的文件名且同行的内容不一样,那么会产生矛盾,需要自己手动修改产生矛盾后的文件,然后添加到暂存区然后提交。

git branch -d 分支名称

如果要删除的分支中进行了一些开发动作,此时执行上面的删除命令并不会删除分支,可以将命令中的-d参数改为-D

如果要删除远程仓库中的分支,可以使用命令git push origin -d branchName

1.8 Git标签

像其他版本控制系统一样,Git可以给 历史 中的某一给提交打上标签,以示重要。比较有代表性的是人们会使用这个功能来标记发布结点(v1.0、v1.2等)。标签指的是某个分支某个特定时间点的状态。通过标签,可以很方便地切换到标记时的状态。

#新建一个tag

$ git tag [tagName]

$ git tag

#新建一个分支,指向某个tag

$ git checkout -b [branch] [tag]

#删除本地tag

$git tag -d[tag]

#删除远程tag

$git push origin :refs/tags/[tag]

4. git 看不到他人提交的远程分支解决

解决办法

运行:

git fetch 命令简介及扩展

默认情况下棚祥模,git fetch取回所有分支(branch)的更新。如果只想取回特定分支的更新,可以指定分支名。

比如,取回origin主机的master分支。所取回的更新,在本地主机上要用”远程主机名/分支名”的形式读取。比如origin主机的master,就要用origin/master读取。

git branch命令的-r选项,可以用来查看远程分支,-a选项查看所有分支。

上面命令表示,本地主机的当前分支宴裤是master,远程分支是origin/master。
取回远程主机的更新以后,可以在它的基础链缓上,使用git checkout命令创建一个新的分支。

上面命令表示,在origin/master的基础上,创建一个新分支。
此外,也可以使用git merge命令或者git rebase命令,在本地分支上合并远程分支。

或者

上面命令表示在当前分支上,合并origin/master。

5. Git创建新分支,并将本地代码提交到新分支上

clone Github 上的Repository,如下:

使用 git branch命令,如下:

*标识的是你当前所在的分支。

命令如下:

命令如下:

命令如下:

例如:

命令如下:

例枯梁如:

创建分支的同时切换到该分支上,命令如下:

git checkout -b [branch name] 的效果相当于以下两步操作:

命令如下:

例如:

命令如察做下:

例如:

命令如下:

分支名败败衡前的冒号代表删除。

例如:

命令如下:

例如:

命令如下:

命令如下:

命令如下:

例如:

https://blog.csdn.net/top_code/article/details/51931916
https://blog.csdn.net/a19891024/article/details/54138029

6. 如何创建一个新的git分支

1.进薯胡入本地git仓库目录下,打开git bash环境

2.使用git branch命令可以查看到,当前目录只有一个master分支

3.使用命令: git checkout -b dev_newstyle(分支名) 创建一个名为袭睁dev_newstyle的分支,同时切换到该分支。

4.使用命令 git push origin dev_newstyle(分拍手岁支名) 将本地新增加的分支添加到远程服务器。

7. Git远程操作详解

1.git remote命令列出所有远程主机

2.使用-v选项,可以参看远程主机的网址

3.git remote show命令加上主机名,可以查看该主机的详细信息。

4.git remote add命令用于添加远程主机

5.git remote rm命令用于删除远程主机

6.git remote rename命令用于远程主机的改名

1.默认情况下,git fetch取回所有分支(branch)的更新到本地。

2.如果只想取回特定缓型分支的更新,可以指定分支名。

3.git branch命令的-r选项,可以用来查看远程分支,-a选项查看所有分支

4.回远程主机的更新以后,可以在它的基础上,使用git checkout命令创建一个新的分支

5.在本地分支上合并远程分支,表示在当前分支上,合并origin/master

1.取回远程主机某个分支的更新,再与本地的指定分支合并

2.取回origin主机的next分支,与本地的master分支合并

3.如果远程分支是与当前分支合并,则冒号后面的部分可以省略。

4.上述操作,等同于先做git fetch,再做git merge

5.指定当前分支追踪origin/next分支。

如果当前分支与远程分支存在追踪关系,git pull就可以省略远程分支名

6.如果远程主机删除了某个分支,默认情况下,git pull 不会在拉取远程分支的时候,删除对举如应的本地分支。

这是为了防止,由于其他人操作了远程主机,导致git pull不知不觉删除了本地分支。

但是,你可以改变这个行为,加上参数 -p 就会在本地删除远程已经删除的分支。

Git 远程仓库没有实时更新分正哪启支使用:

1.git push命令用于将本地分支的更新,推送到远程主机。它的格式与git pull命令相仿

git pull是<远程分支>:<本地分支>,而git push是<本地分支>:<远程分支>

2.如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),

如果该远程分支不存在,则会被新建。

3.如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支。

4.如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略

5.如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,

这样后面就可以不加任何参数使用git push

6.不带任何参数的git push,默认只推送当前分支,这叫做simple方式。

此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。

Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。

如果要修改这个设置,可以采用git config命令

7.还有一种情况,就是不管是否存在对应的远程分支,

将本地的所有分支都推送到远程主机,这时需要使用--all选项

8.如果远程主机的版本比本地版本更新,推送时Git会报错,要求先在本地做git pull合并差异,
然后再推送到远程主机。这时,如果你一定要推送,可以使用--force选项

9.git push不会推送标签(tag),除非使用--tags选项

命令作用:

只能清空全部已修改的问题件, 但是对于新建的文件和文件夹无法清空, 必须组合下面命令;

命令作用: 清空所有新建的文件和文件夹;

8. 以下哪些git命令可以切换branch

查看分支:x0dx0a $ git branch 该命令会类出当先项目中的所虚镇有分支信息,顷档其中以*开头的表示当前所在的分支。参数-r列出远程仓库中的分支,而-a则远程与本地仓库的全部分支。x0dx0a创建新分支:x0dx0a $ git branch testing 创建一个名为testing的分支x0dx0ax0dx0a切换分支:x0dx0a $ git checkout teting 切换到testing分支上。通过向该命雀誉乱令传递一个-b参数,可以实现创建并切换分支的功能。

9. 如何使用git命令回滚到指定版本以及返回到新版本

一. 相关git命令

1.git branch:查看当前分支,如果在后面加-a则表示查看所有分支。

2.git log:查看提交历史,在commit id这一余樱项中可以看到提交的历史版本id。

3.git reflog:查看每一次命令的记录

4.git reset --soft:回退到竖尺丛某个版本,只回退了commit的困启信息。

5.git reset --mixed:为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息。

6.git reset --hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容,撤销的commit中所包含的更改被冲掉。

二:步骤

1.回滚到指定版本

首先进入项目根目录下,使用git log 命令,找到需要返回的commit id 号,使用git reset --hard 后跟你需要的commit id号,这样你就回到了指定的版本,注意git reset --hard与git reset  --soft的区别:

git reset –-soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。通常使用在当你git commit -m "注释"提交了你修改的内容,但内容有点问题想撤销,又还要提交,就使用soft,相当于软着路;

git reset -–hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容,撤销的commit中所包含的更改被冲掉,相当于硬着路,回滚最彻底。

2.返回到最新版本

当你发现需要回滚到最新版本时,可以采用以下指今步骤

git log:查看历史提交

git reflog:查看每一次命令记录

通过git reflog命令查看到之后,我们再利用 git reset 来返回到相应的版本即可,HEAD前面的一串字符为我们简写的ID,所以最后输入

git reset --hard ca936c3即回滚到了最新的版本号了

10. git关联远端分支

1.新建一个本地的分支

git branch -b newbranch  //这个命令是新建一个分支,并切换到该分支上去

(git branch newbranch;    git checkout newbranch)销举型这两个命令合起来等同于上面的一个命令

2.新建一个远程分支(同名字的远程分支)

git push origin newbranch:newbranch  //创建了答型一个远程分支名字叫 newbranch

3.把本地的新分支,和远程的新分支关联

git push --set-upstream origin newbranch

1

这时就亏猜可以在这个分支下使用 git pull 推送支远程的新分支上了

阅读全文

与gitbranch命令相关的资料

热点内容
我的世界服务器如何tp玩家 浏览:24
app下载统计怎么找 浏览:262
荔枝app怎么看适合自己的发型 浏览:369
魔兽世界client文件夹 浏览:539
解压音乐轻松入睡 浏览:270
c盘文件夹卡顿怎么办 浏览:448
增量调制编译码实验数据 浏览:761
电流采样信号进单片机 浏览:189
编程教育课程收费 浏览:415
服务器的气怎么写 浏览:395
怎么删除授时服务器地址 浏览:143
android基础组件 浏览:666
建兴app怎么变成黑色了 浏览:51
文件压缩包如何加密文件 浏览:183
2010提出的算法 浏览:674
冰柜压缩机的寿命 浏览:105
办公室采访程序员 浏览:569
美橙云服务器购买 浏览:754
汉语词典pdf下载 浏览:353
android公网ip 浏览:613