【git使用】

场景:需要开一个分支
1、在远程开好分支,本地直接拉下来;
远程先开好分支然后拉到本地

git checkout -b 本地分支名 origin/远程分支名    //拉远程分支到本地

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

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分支到本地lz分支:
git pull origin master:lz

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分支。

  1. 查看远程分支git branch -a

  2. 查看本地分支 git branch

  3. 创建分支 git branch test

  4. 切换r分支 git checkout test

  5. 创建+切换:git checkout -b test

  6. git clone 指定分支 拉代码
    git clone https://hervice.git
    git clone 指定分支 git clone -b dev_lz https://rvice.git
    dev_lz就是远程的分支,https://rvice.git为源码的仓库地址

远端仓库被克隆下来,但是任何一个分支都没有被克隆下来,你需要在Develop分支上开发,就必须创建远程origin的Develop分支到本地,于是在命令行创建本地Develop分支:

git checkout -b Develop origin/Develop
 git pull

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

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

git branch --merged
 git branch --no-merged

远程分支列表 git ls-remote

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值