美文网首页
git 学习记录

git 学习记录

作者: 3fbfd3c15df9 | 来源:发表于2018-04-23 14:03 被阅读30次

    什么是git ,git是一个分布式版本控制工具 ,而svn 是 集中式

    给当前的git仓库配置用户名和邮箱
    • 配置用户名 git config user.name "cgm"

    • 配置邮箱 git config user.email "cgm@163.com"

    • 给git配置全局用户名 git config --global user.name "cgm"

    • 给git配置全局邮箱 git config --global user.email "cgm@163.com"
      查看git 的配置。可以在 选择,前往 -> 个人- > 个人下面的 .gitconfig 隐藏文件进行查看

    工作原理
    • 工作区 :仓库文件夹除了.git 以外的内容

    • 版本库: .git 目录。存取版本信息

      1. 暂缓去(stage)
      2. 分支(master): git 自动创建第一个分支
      3. HEAD指针: 用于指向当前的分支
    • git add 和 git commit 原理
      git add :把修改的文件或者添加的内容添加到暂缓区
      git commit :把暂缓区的内容提交到 HEAD指针指向分支

    image.png
    1. 加载到暂缓区 git add main.m ,查看状态,发现是绿色,绿色代表,在暂缓区但没有提交到本地仓库
      那么如何移除到暂缓区呢 git rm --cached main.m ,把main.m 移除暂缓区
    2. git commit -m "把暂缓区提交到本地仓库"
    3. 修改main.m 后。查看状态,会提示 Changes not staged for commit: ,修改了。但是没有提交到暂缓区
    4. commit 提交到暂缓区 会提示 1 file changed, 1 insertion(+)
      一个文件,被修改。 1 条插入
    初始化项目

    选择了指定目录 gitTest。 在控制台 git init 创建,在此目录下,我们创建一个 .m 文件。touch main.m ,然后我们查看状态 git status 和查看目录

    可以看到 image.png
    没有加载到缓冲区,和 目录结构
    image.png
    给命令行起别名,比如给git status 起别名
    • git config alias.st "status" 下次查看直接 git st 即可
    • git config --global alias.st "status" 给全局起别名。在.gitconfig可查看


      image.png
    删除文件

    git rm main.m 将main.m 删除

    查看版本号
    1. git log 版本号sha1 算法生成的 40 位的哈希值


      image.png
    2. git reflog 可以查看所有版本回退的操作


      image.png

    版本回退 。

    • git reset --hard HEAD 回到当前的版本
    • git reset --hard HEAD^ 回到上一个版本
    • git reset --hard HEAD^^ 回到上上个版本
    • git reset --hard HEAD~10 回到前10个版本
    • git reset --hard 版本号 (想回到某个版本)

    回滚版本注意

    • git reset --hard HEAD^ 回到上一个版本
    • git push -f 强制推送 ,上传到共享版本库
    • git reset --hard HEAD^ 同事也要,回到上一个版本。一起合作才能回滚到上个版本
      也可以给log起别名。百度收一下写法
    创建共享版本库
    1. 在指定的目录或者文件下面。控制台 输入 git init --bare


      image.png
    2. git clone 共享版本的地址 clone /Users/cgm/Desktop/test/share

    3. 添加忽略文件 ,在我们clone 的文件目录下面 touch.gitignore
      忽略文件https://github.com/github/gitignore 可再次找到

    4. 可以模拟多个角色,clone 我们初始化的项目

    5. image.png

      多个角色开发的时候,push出现这个错误,就是不是最新的版本,有其他人提交过,我们需要pull 更新一下

    6. 如果pull,2边有冲突 image.png

    备份 和 tag

    1. 打tag
    • git tag -a product1.0 -m "这是1.0版本"
    • git tag 查看
    1. push 到共享版本库
      git push origin product
    2. 其他开发人员想看tag 的时候 git pull 然后 git tag 查看

    创建分支和查看分支

    git checkout -b test1.0 //创建分支并切换到该分支
    git branch 查看分支
    git branch -r 查看分支
    git checkout master 切换分支
    git push origin test1.0 提交到共享版本库分支

    删除本地分支

    git branch -d test1.0 删除本地分支
    git branch -r -d origin/test1.0 删除本地分支
    git push origin --delete test1.0 删除共享仓库分支

    GitHub 验证方式

    1. 账号匹配


      image.png

    2,SSHkeys认证

    1. 公钥:存在GitHub 解密
    2. 秘钥:存在本地的一个.ssh文件夹用来加密

    如何配置公钥秘钥,github 也有介绍

    1. ls -al ~/.ssh 查看本地是否有.ssh
    2. ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
      生成 .ssh
    3. 点击前往-> 个人-> 个人文件下面有个.ssh 隐藏文件


      image.png
    /Users/chenguimin/.ssh
    zwcMacBook-Pro:.ssh chenguimin$ ls
    id_rsa(私钥)      id_rsa.pub(公钥)  known_hosts
    zwcMacBook-Pro:.ssh chenguimin$ ssh-add id_rsa //添加私钥
    Enter passphrase for id_rsa:  //输入密码即创建ssh时候输入的秘钥
    Bad passphrase, try again for id_rsa: 
    Bad passphrase, try again for id_rsa: 
    Bad passphrase, try again for id_rsa: 
    Identity added: id_rsa (id_rsa)
    
    
    1. image.png

      文本打开 id_rsa.pub 复制里面的内容

    2. 在github 设置


      Snip20180401_19.png

      添加即可设置,公钥

    参考 此篇配置 ssh 文章

    相关文章

      网友评论

          本文标题:git 学习记录

          本文链接:https://www.haomeiwen.com/subject/ejtacftx.html