git 关于分支的解析

228 阅读4分钟

git 描述 几乎所有git操作流程都离不开分支 git brnach 命令列出本地所有分支 git branch 创建一个名 ymw的新分支 ,但依然在当前分支 git branch ymw 在远程分主机 origin上创建一个ymw的分支,并与本地的同名分支建立追踪关系 git push -u origin ymw 将当前分支改为 ymy git bransh -m ymw 删除ymw分支,前提是该分支没有未合并的变动 **git branch -D ymw** 强制删除ymw分支,不管有没有未合并变化 **git branch -D ymw** 切换到ymw分支,当前的工作区会变为ymw分支的内容 git checkout ymw 基于ymw分支创建一个新的ymw分支,新的ymw分支将成为当前的工作区。 git checkout -b newBranch ymw # git branch

git branch分支操作命令 列出所有本地分支 **** git branch**** 列出 所有本地分支和远程分支 git branch -a 新建一个分支 直接在git branch 后面跟上分支名,就表示新建该分支 **git branch developer**

   使用 -b 参数  ,可以新建的同时,切换到新分支 
   git checkout -b newBranch ymw
   删除分支
    -d参数用来删除一个分支,前提是该分支没有未合并的变动   

** git branch -d 分支名** 分支改名 git checkout -b twitter-experiment feature132 git branch -d feature132 另一种写法 1.当前分支改名 git branch -m (分支名) 2.为指定分支改名 git branch -m (旧的分支名)(新的名字) 3.如果有重名分支,强制改名 git branch -m (旧的分支名) (要更改的新的分支名) 4.查查merge 情况 show branches that are all merged in to your current branch git branch --merged show branches that are not merged in to your current branch git branch --no-merged 命令行参数 -d 参数用于删除一个指定分支 git branch -d 分支名字 git cat-file git cat-file 命令显示一个git 对象文件的内容 ````git cat-file -p aaa6

`p`参数表示以易于阅读的格式显示。
git checkout 
  参数
   git checkout (1) 用来   切换分支 
     git checkout 
    上面命令回到先前所在的分支
        git checkout develop
     上面命令 表示 切换  到 develop分支
     切换 到指定快照  (commit)
         git checkout 《commitID》
    将工作区指定的文件恢复到上次commit的状态
    将指定文件从暂存区恢复到工作区
    用来丢弃工作区对该文件的修改
    `  git checkout --<文件名字>`
   还可以指定从某个commit恢复指定文件
    这会同时改变暂存区和工作区
    git checkout HEAD~ -- <文件名称>
    -p 参数表示进入交互模式 ,只恢复部分变化
     git checkout -p
     切换到某个tag
     `$ git checkout tags/1.1.4`
     `# 或者`
      `$ git checkout 1.1.4` 
      上面第二种用法的前提是,本地不能有叫做1.1.4的分支
      参数
      `-b`用于生成一个新的分支。
        git checkout -b new
        
# git cherry-pick
`git cherry-pick`命令”复制”一个提交节点并在当前分支做一次完全一样的新提交。

git cherry-pick 2c33a

   git clone
`git clone`命令用于克隆远程分支。

git clone alpha delta --bare

上面命令表示将alpha目录(必须是git代码仓库),克隆到delta目录。bare参数表示delta目录只有仓库区,没有工作区和暂存区,即delta目录中就是.git目录的内容。
it commit-tree
根据一个树对象,生成新的commit对象。

git commit-tree 16e19f -m “First commit”

    git commit 
      命令 行参数
        -a 
   -a参数用于先将所有工作区的变动文件,提交到暂存区,在运行git commit .命令
   git commit -m -am "message"
    如果没有指定提交说明,运行下面的命令直接打开文本编辑器。让用户提交说明
     git commit --
     -allow-empty
      -allow-empty 参数用于没提交信息的commit .
     ` git commit --allow-empty`
        -
`  git commit      `
        --amend
   参数用于撤销上一次commit ,然后生成一个新的commit
git commit --amend - m "new commit message"
      --fixup
    当前添加的commit 是以前某一个commit 的修正。 以后执行互动式的  git rebase 的时候 ,这两个commit 将会合并成一个。
      git commit -fixup《commit-m
`-m`参数用于添加提交说明。

git commit -m "message"

[]()—squash

`--squash`参数的作用与`--fixup`类似,表示当前添加的 commit 应该与以前某一个 commit 合并成一个,以后执行互动式的`git rebase`的时候,这两个 commit 将会合并成一个。