git常用命令

版本控制工具

  • 理论

    • Git是什么?

    Git 是一款分布式版本管理的软件,Linux 内核,通过命令行进行操作.

    Git是您在计算机上本地安装的一个软件,它为您处理“版本控制”

    • 什么是分布式?

    Git 属于分布式版本控制系统,而 SVN 属于集中式。

    集中式:

    ​ 集中式版本控制只有中心服务器拥有一份代码,

    ​ 集中式版本控制有安全性问题,当中心服务器挂了所有人都没办法工作了。

    ​ 如果网速过慢,那么提交一个文件的会慢的无法让人忍受.

    ​ 而集中式版本控制新建一个分支相当于复制一份完整代码。

    分布式:

    ​ 分布式版本控制每个人的电脑上就有一份完整的代码,

    ​ 分布式版本控制不需要连网就能工作.

    ​ 分布式版本控制新建分支、合并分支操作速度非常快.

    • 有什么作用?

    它记录了我们每一次对项目的新增、修改,删除等操作。

    当你的项目出现BUG的时候,我直接可以定位我修改了哪些部分,从而进行直接修改.

    新发版本在服务器上出现问题,不要慌,我可以将服务器上的代码回退一个版本.

    试想一下Boos我要开发一个新功能,于是我开发了项目2.0,Boss一看觉得不行,这个功能很突兀放在这,还是要1.0那个版本好,OK,恢复1.0版本,3天后,小明啊,投资人,要看2.0版本那个新功能,你赶紧发一版.无惧

    • Git与gitHub是什么关系?

    Git 相当与是本地库,在自己电脑上编辑
    Github 相当与是远程库,代码都是有Git在本地修改进行上传.

    Github 是以个开源(MIT)代码托管仓库,但是内容是需要Git进行本地上传的.

    Gitlab 部署在服务器上面,功能跟 Github是一样,它可以创建免费的私有库

    从功能上看没有关系,但是从内容产出,又是相辅相成的.

Github代码都需要public(公开), 如果你想要创建private(私人)的repo, 那得付钱。

start

  • Git初始化配置
配置个人的用户名称和电子邮件地址,Git 每一次提交时都会引用这两条信息,说明是谁提交了更新,并记录历史.没有添加信息,不能给文件加log,
$ git config --global user.name "注册名称,github登录界面右上角查看"
$ git config --global user.email "注册邮箱@xxx"
$ git config --list 查看  


  • 文件提交操作流程

    //拷贝项目
    $ git clone  https://github.com/name/xxxx
    
    $ git status // 红色代表,没有添加追踪
    
    //修改文件
    
    $ git add <file>|| git add . //增加单个追踪或所用追踪
    
    $ git status //绿色代表,添加追踪
    
    // 注意:本地提交完毕,可以进行远程提交与合并分之添加日志,
    $ git commit -m "xxxxxxxxxxxxx"  //良好习惯 一定要有意义
    
    $ git push    //提交当前默认分支   
    
  • 分之操作(branch)

    • 基本操作
     $ git branch -r        //查看远程分之:
     $ git branch -v        //查看本地分之
     $ git branch -a        //查看所有分之
        	
     $ git branch <branch>       //创建本地分之
     $ git checkout  <branch>  	 //切换分之
     $ git checkout -b <branch>  //创建分之并移动至创建的分之
     
     
     
     
     常用指令
     $ git checkout -b <branch> <origin/branch> //创建本地dev与远程origin/dev分之同步
     
     
     
     
     
     $ git push origin <branch>  //提交远程分之
        	
     $ git branch -D <branchName>  //删除本地分之  	
     $ git push origin :dev   	   //删除远程分之
     
     
    将密码缓存到本地,缓存完毕之后,在进行提交还是要进行一次密码验证,缓存完毕
    $ git config --global credential.helper store
    
    • 分之合并
    //重要:
        //1.注意在一个工作区工作没有完成,不能进行合并(commit log标注完毕在执行合并任务)
        //2.合并分之  dev>master 你需要完成commit_log,并且移动master分之 之后在进行合并
    $ git clone
    $ git branch xxx
    //修改代码完毕,移动到需要合并的分之
    $ git checkout master
    //将测试分之合并至 主分支
    $ git merge dev
    //切换分之
    //退出Vi编辑模式 :wq
    
    • 回滚版本

      $ git log  //查看所有日志
      $ git reset --hard e377f60e28c8b84158 //根据40位的哈希值,回滚代码
      //不要再主要分之上面操作
      $ git  push -f  //强制提交
      $ git revert HEAD //回滚最后一次提交
      
  • 恢复删除分之

    $ git reflog  //所有删除分之 log 获取 HEAD@{4}
  $ git branch <branch_name> HEAD@{4}
  • 拉取最新
  git pull  //拉取最新

要有远程<origin/branch>和本地的分支概念

  • 操作
$ vi 打开一个文件 esc :wq   //退出linux命令行
$ i 光标出现 insert //编辑状态
$ touch file.txt          //创建文件
$ madir // 创建文件
$ rm //删除文件 
$ rm -f file.txt //删除文件
$ rm -d menghai  //删除一个空目录
  $ rm -rf haiyang //递归删除当前空目
  • 镜像源
  1. 通过cnpm使用淘宝镜像:npm install -g cnpm --registry=https://registry.npm.taobao.org
  2. 将npm设置为淘宝镜像:npm config set registry https://registry.npm.taobao.org
  3. 查看cnpm镜像设置:npm config get registry
  4. 查看所有镜像源:nrm ls
  5. 使用某个已有镜像源:nrm use cnpm(需要使用的镜像源)

git分支功能

master/hotfix/develop/feature/release

master:主分支,用于功能发布,严禁开发人员直接改动
hotfix:开发分支,用于生产bug紧急修复
develop:开发分支,用于功能版本的开发
feature:开发分支,某个开发为了自己的功能拉的分支
release:测试分支,用于测试人员测试,尤其多个功能的测试

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hyduan200

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值