git中branch有三种类型:
1.local branch
本地分支,就是我们平常操作的分支,git中默认是master分支
可以通过 git branch b1 来建立本地分支,通过 git checkout b1 来切换分支
2.tracking branch
引用
A 'tracking branch' in Git is a local branch that is connected to a remote branch. When you pull on that branch, it automatically pulls to the remote branch that it is connected with.
跟踪分支是一种和远程分支有直接联系的本地分支(远程分支的本地书签、别名),跟踪分支是一种本地分支!
当我们在跟踪分支上使用git pull命令,会自动从相应的remote branch上fetch,然后在merge到该分支上
如果我们想在跟踪分支上直接使用git push命令,让它自动push到对应的remote branch上
还需要设置push的默认行为:
git config push.default tracking
当我们使用git clone命令后,会自动在本地建立一个master的分支来跟踪origin/master
我们也可以使用
git checkout -b b1 origin/master
或者
git checkout --track -b develop origin/develop
命令来手工新建一个跟踪分支develop,并切换到该分支上(该本地develop 对应origin/develop)
如果我们想把已经存在的一个分支b2转换成一个tracking branch,需要
git config branch.b2.remote origin
git config branch.b2.merge refs/heads/master
或者,我们手工修改~/.git/config文件
下面是一个tracking branch的配置信息
[branch "master"]
remote = origin
merge = refs/heads/master
3.remote branch
它实际上是指向远端服务器的某个分支,用来跟踪远程分支的变化, 也即以前提到过的origin/master分支
1,branch的建立及使用
git clone user@192.168.0.136:/media/projiect/omap4/nexttab/kernel kernel/android3.0/ //下载内核源码
git checkout -b xx //建立分支并切换到分支xx
git branch //查看当前分支的状态
git status //查看分支及当前修改过的文件
git add . //增加所有文件(如果添加某个文件,用git add file) (
git commit -a -m "branch xx test " //上传到本地git仓库,注释信息为branch xx test
git push user@192.168.0.136:/media/projiect/omap4/nexttab/kernel xx //推送xxx分支到服务器上
git clone user@192.168.0.136:/media/projiect/omap4/nexttab/kernel -b xx kernel/android3.0//下载xx分支
2,branch的管理
git branch //查看当前分支的状态
git checkout master //切换到主分支
git merge xx //合并分支xx到主分支
git branch -d xx //删除分支,如果还未合并到master,则会出现不能删除提示,用-D可以强制删除
git branch -v //查看分支的最后修改
分支前带*的为还为合并分支到master分支的,无*的为已经合并到master中,可以将无*的分支删除掉。
git branch
列出所有的分支, -r参数表示列出所有远程的分支
git branch
建立一个名为的分支,使用当前版本作为这个新分支的版本
git branch
建立一个名为的分支, 使用指定的 作为新分支的版本,这个start-point可以是其他的分支名称或者tag名称。
git branch -d
删除分支 ; 如果你要删除的分支并没有被merge到当前分支的话,将产生一个错误提示。
git branch -D
同-d,但是不管要删除的分支是否已经merge到当前分支,都会删除
git checkout
切换当前分支到 , 更新 working directory 到 所对应的版本
git checkout -b
按照的版本建立一个新的分支,然后再checkout到这个分支上。
一个特殊符号 “HEAD” 总是指向当前分支. 实际上git使用一个在.git目录中叫 “HEAD”的文件来记录当前分支:
$ cat .git/HEAD ref: refs/heads/master
示例:“master”分支是当初你执行git-clone时候,clone的一个远程repository的HEAD版本的一个copy.
$ git branch -r origin/HEAD origin/html origin/maint origin/man origin/master origin/next origin/pu origin/todo
列出所有远程版本,origin是用来表示你当初执行git-clone时候的repository,你不可以直接checkout远程repository,但是你可以根据远程repository生成一个本地repository:
$ git checkout -b my-todo-copy origin/todo http://www.haijd.net/article/index.php?action=read&id=842
分享到:
相关推荐
讲述了git分支的使用,创建分支,修改分支,删除分支,克隆分支
tmux-git, 在Tmux状态栏中,显示当前 git branch的脚本 Tmux中的 git-branch tmux-git 在 tmux 状态栏中显示当前目录的git repo 信息,如当前分支。dirtiness 。存储等等。概述在你的Linux终端提示符( 就像我在这里...
git-directory-deploy, 将目录部署为 git branch 这是用于部署文件到 git branch的脚本,例如在使用文书构建单个页面应用程序和部署到 GitHub页面的脚本。 不像 git方法,它不要求生成的文件被提交到源分支。 它在...
**vim-gitbranch 插件详解** `vim-gitbranch` 是一款专为 Vim 编辑器设计的插件,它的主要功能是在 Vim 的状态栏显示当前工作目录下的 Git 仓库的分支名称。对于频繁进行 Git 操作的开发者来说,这是一个非常实用的...
git-when-merged, 确定特定提交合并到 git branch的时间 git when-mergedgit when-merged 帮助你了解什么时候以及为何将提交合并到分支中。如果使用标准的Git工作流,则为你正在处理的每个特性创建一个特性分支。 当...
**Jenkins 插件 GitBranch-Column 深度解析** `Jenkins-Plugin-GitBranch-Column` 是一个专为 Jenkins 设计的插件,它的主要功能是在 Jenkins 的 listview(列表视图)中展示 Git 仓库的分支名称。这对于多分支策略...
git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支 git branch -r 查看远程所有分支 git commit -am "init" 提交并且加注释 git remote add origin git@192....
git-branch-select 存储库中的交互式(本地)分支选择。 通过安装 $ npm install --global git-branch-select 用法 $ git branch-select [options] [search] # Alias it in your .gitconfig for added convenience,...
在Learn Git Branch上学习远程仓库的相关知识
Git 常用命令 4.1 初始化仓库 git init # 在当前目录下初始化一个新的 Git 仓库 4.2 查看仓库状态 git status # 查看当前仓库的状态 4.3 文件操作 将文件添加到暂存区 ... git branch -d 分支名
- 要删除远程分支,则需要使用`git push origin --delete [branch-name]`或者`git branch -dr [remote/branch]`。 以上这些命令组成了日常工作中常用的Git命令清单,通过这些命令可以进行绝大多数的代码管理操作。...
`-m` 或 `--move` 用于重命名分支,如 `git branch -m old-branch-name new-branch-name`,当前分支可以使用 `git branch -m new-branch-name` 重命名。 5. **git checkout**: `git checkout` 用于切换分支或恢复...
本示例"gitbranch-demo"旨在演示Git分支的使用,特别是与Java开发相关的实践。 在Java开发中,使用Git分支能有效提高团队协作效率。以下将详细讲解Git分支及其相关操作: 1. **创建分支**: 使用`git branch ...
git-branch-name 通过nodejs获取目录的git branchName,支持git子模块 安装 npm install git-branch-name --save 用 var getGitBranchName = require ( 'git-branch-name' ) ; var dirPath = path . resolve ( __...
git视频教程.4.1.Git 命令 - git branch.mp4 git视频教程.4.2.Git 命令 - git branch.mp4 git视频教程.4.3.Git 命令 - git branch.mp4 git视频教程.4.4.Git 命令 - git checkout.mp4 git视频教程.4.5.Git 命令 - git...
3. 删除分支:git branch -d <branch name> 4. 切换分支:git checkout <branch name> 5. 创建新的分支:git checkout -b <branch name> 四、Git 常见使用场景 1. Git 和 Repo 的关系 2. 如何通过 Repo 下载 ...
* `git branch 新分支 某个 commit 的 id`: 基于某个 commit 创建分支 * `git checkout -b 新分支`: 创建并切换到该分支 * `git branch -d 要删除的分支`: 安全删除本地某分支 * `git branch -D 要删除的分支`: 强行...
- 创建分支并与远程分支建立追踪关系: `$ git branch --track new-branch origin/new-branch` - 切换到指定分支并更新工作区: `$ git checkout new-branch` - 合并指定分支到当前分支: `$ git merge new-branch` ...
删除分支用 `git branch -d [branch-name]`,删除远程分支则使用 `git push origin --delete [branch-name]` 或者 `git branch -dr [remote/branch]`。 标签管理命令用于查看和创建标签。`git tag` 命令列出所有...
- `git branch -d <branch>`:删除分支(仅当分支已经合并至其他分支时可用)。 - `git branch -D <branch>`:强制删除分支。 4. **远程仓库交互**: - `git remote add origin <url>`:添加远程仓库。 - `git ...