• git使用


    1.安装git

    git:查看是否已经安装

    sudo apt install git :安装

    2.创建版本库

    git init:将一个普通目录变成版本库

    3.将文件添加到版本库

    git add filename :将文件添加到缓存区

    git commit -m "日志" :提交文件到版本库【仓库】

    *** 请告诉我你是谁。        #不知道主人是谁,则需要配置用户名和邮箱
    #注意:用户名和邮箱来自github上的注册

    运行
    git config --global user.email "you@example.com"
    git config --global user.name "Your Name"

    4.时光穿梭机(新旧版本切换)

    git status:查看仓库当前的状态

    git diff filename:查看仓库具体的改动

    版本回退

    在git中,用HEAD表示当前版本,上一个版本是HEAD^,上上个版本是HEAD^^,如果向上找100个版本,则表示为HEAD~100.

    git log: 查看提交历史记录,以便于确定回到哪个历史版本

    git log --pretty=oneline:  只显示commit id 和 版本日志 (一行显示)

    git reflog: 查看历史执行过的git操作,从上往下寻找第一个commit的操作,则是未来的最新的版本

    git reset --hard 版本号【commit id】: 版本回退

    撤销修改

    三种情况:

    1.修改了文件内容,但是还没有添加到暂存区

    #丢弃工作区的修改
    位于分支 master
    尚未暂存以备提交的变更:
    (使用 "git add <文件>..." 更新要提交的内容)
    (使用 "git checkout -- <文件>..." 丢弃工作区的改动)
    ##回到最近一次git commit或git add时的状态

    修改:     text.txt

    2.修改了内容,还添加到了暂存区,但是还没有提交

    a.撤销掉暂存区的修改
    位于分支 master
    要提交的变更:
    (使用 "git reset HEAD <文件>..." 以取消暂存)

    修改:     text.txt
    b.丢弃工作区的修改

    重复 操作 1

    3.直接将修改的内容提交到了版本库

    利用版本回退

    5.远程仓库

    建立本地终端和github的网络连接

    1.创建github账号

    2.生成ssh key【密钥,建立本地和网络之间的连接】cd

    终端输入命令:ssh-keygen  -t   rsa  -C    "github的注册邮箱"

    后面会要求设置仓库密码等(可忽略),一直回车.

    3.添加公钥到github

    获取公钥:cat id_rsa.pub

    复制公钥添加到github: github网站-->个人-->setting-->SSH and GPG keys-->new ssh key

    4.检测是否添加成功

    命令:ssh  -T   git@github.com

    5.添加私钥

    命令:ssh-add id_rsa

    添加公钥失败时: 解决办法网址 https://blog.csdn.net/laner415/article/details/52966890

    1.  ssh-add -D
    2. rm -r ~/.ssh
    3. 再试一次以上命令:ssh-keygen -t   rsa -C   "github的注册邮箱"
    添加密钥 测试 若继续失败,执行下面命令
    4. eval "$(ssh-agent -s)"
    5. ssh-add
    6. 再测试 ssh -T git@github.com

    建立远程仓库

    github网站-->个人页面-->页面右上角的"+"号-->new repository

    创建成功后:

    https 和 git两种连接 ; https推送时需要github用户名和密码

    远程仓库地址: 例: git@github.com:Deaseyy/repository1.git

     

    将本地仓库和远程仓库联系起来

    前提: 首先创建了本地仓库(版本库),进入本地仓库目录:

    1.建立连接:

    命令  git remote add origin  git@github.com:Deaseyy/repository1.git(远程仓库地址)

    命令 git remote -v   : 查看远程仓库(地址) ,查看是否关联好

    2.推送本地master分支并与远程master产生关联:

     命令  git push -u origin master  (第一次推送本地仓库内容到远程仓库,之后推送时去掉-u)

    ps: 推送相当于更新远程仓库的文件, 需要本地仓库已经包含远程仓库的所有最新文件,否则不能更新,需要先pull远程仓库的文件再push.

    总结:

    • 要关联一个远程仓库,使用命令 git remote add origin git@github.com:username/repoName.git

    • 关联成功之后 ,使用命令git push -u origin master第一次推送master分支的内容到远程仓库

    • 以后,每次本地提交之后,只需要使用命令git push origin master推送最新的修改

      【本地修改----> add到暂存区 ---> commit到本地仓库 ---> push到远程仓库】

    从远程仓库克隆

    查找远程仓库地址

    命令 git clone git@github.com:Deaseyy/repository1.git

    #克隆到本地之后,就可以任意修改本地工作区中的文件,修改完成之后,首先将修改add到暂存区,然后将暂存区中的修改提交到本地仓库,最后将本地仓库中的修改推送到远程仓库

    6.分支管理

    git branch 查看当前仓库所有分支

    创建和合并分支

    git branch 查看分支

    git branch dev 创建分支dev

    git branch -d dev  删除分支dev

    git branch -D dev 强制删除分支dev

    git checkout dev 切换到分支dev

    git checkout -b dev  创建并切换到该分支

    git merge dev 合并子分支dev到当前分支

     git merge --no-ff -m "log" dev  合并分支(有历史记录)

    个人理解: 1.本地子分支修改后合并到master主分支 (合并冲突时需先解决冲突)

          2.master主分支再push推送到远程仓库分支 

     

  • 相关阅读:
    KVO的用法、底层实现原理
    Runtime应用(三)实现NSCoding的自动归档和自动解档
    Runtime应用(二)使用对象关联为分类增加属性(每个对象的属性互不干扰)
    Runtime 应用(一)拦截系统自带的方法交换实现
    iOS实现传递不定长的多个参数
    Runtime 中的 _cmd、 IMP
    UIWebView、WKWebView使用详解及性能分析
    iOS
    基本图形生成算法
    关于动画中帧的解释
  • 原文地址:https://www.cnblogs.com/Deaseyy/p/10859768.html
Copyright © 2020-2023  润新知