git一般用法

1. commit 信息分类标准

  1. feat:新功能(feature)
  2. fix:修补bug
  3. docs:文档(documentation)
  4. style: 格式(不影响代码运行的变动)
  5. refactor:重构(即不是新增功能,也不是修改bug的代码变动)
  6. test:增加测试
  7. 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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值