zoukankan      html  css  js  c++  java
  • 23.git简单使用

    git:主要是为了收集命令

    git客户端下载:
    
    Git是GitHub开源社区的版本管理系统;
    下载地址:https://git-scm.com/download/
    Git的安装:一路使用默认设置进行安装即可,最后一步时选择将GitBash添加到桌面和快速启动菜单;
    双击启动GitBash命令行工具;
    
    
    
    @本地代码提交
    在新建了代码文件和文件夹以后,使用git add xxx命令,可以将指定的文件和文件夹添加到缓存区;
    缓存区是未受控代码和仓库代码的缓冲地带,缓存区中的文件可以随时撤销受控;
    git add . 或git add -a 是添加目录下的所有内容到缓存区;
    通过git rm –cached xxx命令可以撤销指定文件的受控状态,git rm -f xxx则是撤销受控并删除该文件;
    通过git rm -r –cached xxx命令可以递归撤销文件夹的受控状态,git rm -r -f xxx则是递归撤销受控并删除该文件夹;
    通过git commit xxx -m “提交日志”的方式,可以将缓存区中的代码提交到本地仓库;
    通过git status可以查看当前目录状态
    
    
    @版本日志
    git log命令可以查看版本日志,日志记录了提交的序列号、作者和日期信息 ,
    git log –pretty=oneline则是以单行样式显示版本日志
    git diff 版本序列号1 版本序列号2:比较两个版本的区别,这里的–shortstat选项是以简短样式查看区别;
    通过git xxx -h及git xxx –help可以查看相关命令的简版和网页详情版的帮助信息
    
    @版本回滚
    既然有了版本的序列号,我们就可以回滚到任意指定的版本了,其命令是:git reset –hard 版本号
    版本序号还可以通过git reset –hard HEAD^来回退到最新版的上一版;
    git reset –hard HEAD^^回退到最新版的上两个版本,这里^可以有任意多个,然而回退三个以上版本时,我们选择使用:git reset –hard HEAD~23来指定具体回退多少个版本;
    版本回滚功能在修复代码错误,尤其是复杂或致命错误时具有显而易见的便利性;
    
    @什么是SSH密钥配对
    Git的本地仓库与远程仓库交互的方式主要有四种:关联、克隆、拉取、推送;
    本地无论关联还是克隆远程仓库,都必须要先获得远程仓库的地址;
    远程仓库的地址有两种格式可供选择,一种是ssh协议格式,一种是https协议格式;
    以http格式进行关联或克隆的本地仓库,每次向远程推送时,都需要输入远程仓库管理员的邮箱和密码;
    以ssh格式进行关联或克隆的本地仓库,如果想要和远程仓库进行推拉操作,则需要先完成SSH秘钥的配对;
    SSH秘钥对(一把公钥+一把私钥)的作用是用作本地仓库和远程仓库通信的信物;
    远程仓库持有开发者的公钥,本地仓库持有开发者的私钥,当公钥和私钥能够配对时,该开发者的本地仓库就可以和远程仓库进行推拉操作了
    
    @概述
    本地仓库同步远程仓库的方式有两种:关联、克隆;
    关联或克隆远程仓库后,可以做拉取和推送的工作,通俗地说,就是下载和上传代码;
    本地仓库关联远程仓库的命令是:git remote add origin 远程仓库地址,此时的本地仓库就拥有了远程仓库的版本信息了,接下来就可以与远程仓库进行拉取、推送等操作了;
    克隆是直接把远程仓库的主分支内容连同版本信息一起复制到本地,其命令是:git clone 远程仓库地址;
    拉取是将远程仓库的指定分支下载到本地仓库,其命令是:git pull origin 分支名
    推送是将本地仓库分支同步到远程仓库,其命令是:git push origin 分支名;
    
    
    @关联并推拉
    # 进入本地仓库目录,这个目录是已经被git init过的
    cd local_repo_path
    # 关联远程仓库,远程的版本信息也一并被整合到了本地
    git remote add origin your_repo_address
    # 取消当前的远程仓库关联:
    git remote rm origin
    # 查看本地的远程连接(就是查看你关联了那几个线上的git仓库地址)
    git remote -v
    # 拉取远程主分支的代码到本地
    git pull origin master --allow-unrelated-histories
    # 提交所有未受控的代码
    git add . commit . -m "xxx“
    # 将本地仓库的代码(master分支下)推送到远程
    git push origin master
    # 如果前面拉取的动作报出 “拒绝合并不相干的历史”时,追加一个同意放行的参数即可# 即:
    git pull origin master --allow-unrelated-histories
    # 这种错误只有初次拉取时才会发生
    
    
    @概述
    分支的创建和管理是版本控制系统(VCS)的重要内容;
    分支的存在使得团队成员之间既可以分工协作,又互不影响;
    团队成员的日常工作是在各自的分支上代码、提交、推拉;
    当工作分支有了阶段性成果时,再由一个主干分支去对它们进行一一合并,实现成果的合并
    
    @分支与合并策略
    日常的开发工作由不同成员在不同工作分支上分头进行,并行开发互不干涉;
    dev分支不定期合并工作分支的阶段性成果;
    dev分支通过不断合并工作分支,完成了所有需求后,提交测试;
    master分支在dev分支测试通过后,对其进行合并,再复测一下就可以上线了;
    1.0版本上线后,dev分支和众多工作分支再以相同的方式继续迭代开发2.0版本;
    
    @相关命令
    -----↓创建和切换分支-----
    git branch // 查看所有分支
    git branch 分支名 // 创建本地分支
    git checkout 分支名 // 切换到指定分支
    git checkout -b 分支名 // 创建并切换到分支
    -----↓删除分支-----
    git branch -d 分支名 //删除本地分支
    git push origin --delete 分支名 // 删除远程分支
    -----↓推拉分支-----
    git pull origin 分支名 //拉取分支
    git push origin 分支名 //推送分支到远程
    git push --set-upstream origin 分支名 //推送分支
    -----↓合并分支-----
    git merge 分支名 //合并分支(要先checkout到主分支)
    
    @案例介绍
    # 关羽创建分支、工作、本地提交、push远程
    git clone remote_repository_path
    git checkout -b guanyu
    git push origin guanyu
    git add .git commit -am '关羽在本地提交’
    git push origin guanyu
    
    # dev分支合并关张并push远程
    git pull origin devgit checkout dev
    git merge guanyugit merge zhangfei
    git push origin dev
    
    # master主分支合并dev并push远程
    git pull origin master
    git checkout master
    git merge dev
    git push origin master
    
    # 张飞创建分支、工作、本地提交、push远程
    git clone remote_repository_path
    git checkout -b zhangfei
    git push origin zhangfei
    git add .git commit -am '张飞在本地提交’
    git push origin zhangfei
    
    

    最后加一篇学习使用的博客:https://blog.csdn.net/liyayunwxc/article/details/10342573

    LF和CRLF问题:

    https://www.cnblogs.com/sminocence/p/9357209.html 博客里面写了解决办法
    

    本地拉取其他分支代码:

    git checkout -b dev origin/dev(远程分支名)
    git pull origin dev  来去远程分支到本地
    ----------------------------------------------------------
    方式二:
    git fetch origin dev(dev为远程仓库的分支名)
    

    git remote问题:

    1.如何查看当前远程Git库源地址呢?
    $git remote -v
    $git remote -version
    //以上两种方法都是查看当前Git库源地址的
    
     2.这时如果你想修改当前的源地址:
    $git remote set-url origin [GIT URL]
    //orgin为当前源地址名,[GIT URL]为欲修改源地址
    
     3.添加一个新的Git库源地址:
    $git remote add [NAME] [GIT URL]
    //[NAME]为新的Git库源地址名,[GIT URL]为新的git库源地址
    
     4.删除一个Git库源地址:
    $git remote remove [NAME]
    $git remote rm [NAME]
    //[NAME]为Git库源地址名
    
    注意:其中删除源需要谨慎,到现在为止并没有找到恢复源的命令,除非你同事保存了,要不然没法找回
    
  • 相关阅读:
    在SQL SERVER 2005中还原数据库时出现错误:system.data.sqlclient.sqlerror 媒体集有 2 个媒体簇 但只提供了 1 个。必须提供所有成员。 (microsoft.sqlserver.smo)
    Mysql的Root密码忘记,查看或修改的解决方法
    Win7系统如何设置FTP详细过程
    该设备或资源(127.0.0.1)未设置为接受端口“16823”上的连接。
    window7防火墙无法更改某些设置,错误代码0×80070422
    访问FTP站点下载文件,提示“当前的安全设置不允许从该位置下载文件”的解决方案
    解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问的方法
    按状态选择链接元素
    类选择器与ID选择器的比较
    关于创建Web图像时应记住的五个要素
  • 原文地址:https://www.cnblogs.com/liuzhanghao/p/12071576.html
Copyright © 2011-2022 走看看