git推送本地分支到远程分支

1. commit 信息分类标准

  • feat:新功能(feature)
  • fix:修补bug
  • docs:文档(documentation)
  • style: 格式(不影响代码运行的变动)
  • refactor:重构(即不是新增功能,也不是修改bug的代码变动)
  • test:增加测试
  • chore:构建过程或辅助工具的变动

2. git推送本地分支到远程分支

git 拉取远程分支到本地

场景

有时候我们开发需要开一个分支,这样可以有效的并行开发.

开分支有两种方式:

  • 一种是在远程开好分支,本地直接拉下来;
  • 一种是本地开好分支,推送到远程.

远程先开好分支然后拉到本地

git checkout -b 本地分支名 origin/远程分支名XX    //检出远程的XX分支到本地

本地先开好分支然后推送到远程

$  git checkout -b feature-branch    //创建并切换到分支feature-branch  
$  git push origin feature-branch:feature-branch    //推送本地的feature-branch(冒号前面的)分支到远程origin的feature-branch(冒号后面的)分支(没有会自动创建)

3. git pull拉取远程分支到本地

$ git pull <远程主机名> <远程分支名>:<本地分支名>
如拉取远程的master分支到本地wy分支:
git pull origin master:wy

4. git删除远程分支和本地分支

问题描述:

当我们集体进行项目时,将自定义分支push到主分支master之后,如何删除远程的自定义分支呢

问题解决:
​ (1)使用命令git branch -a 查看所有分支
注:其中,remote/origin/master表示的是远程分支
(2)删除远程分支
注:
使用命令 git push origin --delete Chapater6 可以删除远程分支Chapater6 (好像也可以用 git push origin -D Chapater6)
再次使用命令 git branch -a 可以发现,远程分支Chapater6已经被删除。

(3)删除本地分支
使用命令,git branch -d Chapater8 可以删除本地分支(在主分支中)
注:在从Chapater8分支切换到master分支,git checkout master
然后使用 git branch -d Chapater8 可以删除Chapater8分支。

5. 查看远程分支

$ git branch -a
* br-2.1.2.2
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/br-2.1.2.1
  remotes/origin/br-2.1.2.2
  remotes/origin/br-2.1.3
  remotes/origin/master

6. 查看本地分支

shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)
$ git branch
* br-2.1.2.2
  master

7. 创建分支

shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)
$ git branch test

shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)
$ git branch
* br-2.1.2.2
  master
  test

8. 切换回master分支

$ git checkout master

9. git clone 指定分支 拉代码

1.git clone 不指定分支

 git clone  http://10.1.1.11/service/tmall-service.git

2.git clone 指定分支

 git clone -b dev_jk http://10.1.1.11/service/tmall-service.git

命令中:多了一个 -b dev-jk,这个dev_jk就是分支,http://10.1.1.11/service/tmall
-service.git为源码的仓库地址

远端仓库被克隆下来,但是任何一个分支都没有被克隆下来
Androidstudio打开刚才克隆的project,在命令行操作
假定你需要一个Develop(此处假定远程库中已经存在此分支,也就是你需要克隆的)分支用于开发的话,你需要在Develop分支上开发,就必须创建远程origin的Develop分支到本地,于是在命令行创建本地Develop分支:
$ git checkout -b Develop origin/Develop
然后:
$ git pull
稍等片刻,大功告成,这是Develop分支被克隆到本地,可以使用:
$ git branch查看当前分支情况,以及当前分支

作者:T9的第三个三角
链接:https://www.jianshu.com/p/1a03c3637091
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

git pull后如何恢复到原来的版本

1. git log    [查看commit记录]
//这个3628164 是一个commit版本号,可以指定回退到那个版本
    
2. git reset --hard [id] 
比如:git reset --hard 3628164 
//git reflog [查看本地会影响HEAD指针的命令操作记录,这个不会同步到远程仓库]
只会改你本地的,你需要 强制提交,git push -f

快捷命令:

回退上个版本:git reset --hard HEAD^ 
git reset --hard HEAD@{0} //数字代表第几个版本

【注:HEAD是指向当前版本的指针,HEAD表示上个版本,HEAD^表示上上个版本】

往上100个版本可以写成HEAD加连续100个^,也可以写成:HEAD~100。

如何进行版本回退

回退远程仓库的版本

先在本地切换到远程仓库要回退的分支对应的本地分支,然后本地回退至你需要的版本,然后执行:

git push <仓库名> <分支名> -f 

如何以当前版本为基础,回退指定个commit

首先,确认你当前的版本需要回退多少个版本,然后计算出你要回退的版本数量,执行如下命令

git reset HEAD~X //X代表你要回退的版本数量,是数字!!!!

需要注意的是,如果你是合并过分支,那么背合并分支带过来的commit并不会被计入回退数量中,而是只计算一个,所以如果需要一次回退多个commit,不建议使用这种方法

如何回退到和远程版本一样

有时候,当发生错误修改需要放弃全部修改时,可以以远程分支作为回退点退回到与远程分支一样的地方,执行的命令如下

git reset --hard origin/master // origin代表你远程仓库的名字,master代表分支名

https://github.com/includeios/document/issues/12

查 (分支状态)

  1. 查看当前所在分支状态的提交历史
$ git log --oneline --decorate
  1. 查看所有的分支提交历史
git log --oneline --decorate --graph --all
  1. 查看所有的分支,分支前的 * 字符:它代表现在检出的那一个分支
$ git branch -v
  1. 查看哪些分支(已经/尚未)合并到当前分支
$ git branch --merged
$ git branch --no-merged
  1. 远程分支列表
$ git ls-remote

作者:Aaronn
链接:https://www.jianshu.com/p/9d5a5ea3283a
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

git clone 指定分支 拉代码

1.git clone 不指定分支

 git clone  http://10.1.1.11/service/tmall-service.git

2.git clone 指定分支

 git clone -b dev_jk http://10.1.1.11/service/tmall-service.git

命令中:多了一个 -b dev-jk,这个dev_jk就是分支,http://10.1.1.11/service/tmall
-service.git为源码的仓库地址

你可能感兴趣的:(git,github)