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查看当前分支情况,以及当前分支
10.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代表分支名
11.查看分支
1.查看当前所在分支状态的提交历史
$ git log --oneline --decorate
2.查看所有的分支提交历史
git log --oneline --decorate --graph --all
3.查看所有的分支,分支前的 * 字符:它代表现在检出的那一个分支
$ git branch -v
4.查看哪些分支(已经/尚未)合并到当前分支
$ git branch --merged $ git branch --no-merged
5. 远程分支列表
$ git ls-remote