美文网首页
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 学习记录

    Git 学习记录 设置Git的user name和email:git config --global user.n...

  • git学习记录

    git init创建git仓库 git add添加文件到仓库 git commit -m "xxx"提交文件到仓库...

  • git 学习记录

    1、git init :初始化所在目录为git仓库(在这个目录里,可以理解为一个虚拟的空间,.git文件隐藏存在,...

  • git 学习记录

    什么是git ,git是一个分布式版本控制工具 ,而svn 是 集中式 给当前的git仓库配置用户名和邮箱 配置用...

  • Git 学习记录

    Git作为项目管理工具,已经成为开发者首选。Git概念繁多,理解不清楚,还真不太好办事。现将这段时间学习使用Git...

  • git学习记录

    工作区{ } 版本库{ } git常用命令 多人协作

  • Git 学习记录

    git addgit commitgit statusgit loggit diffgit reloggit lo...

  • git学习记录

    2016-02-28 git --versiongit config --global user.name ***...

  • Git学习记录

    欢迎访问我的博客muhlenXi,该文章出自我的博客。 版权声明:本文为muhlenXi原创文章,转载请注明出处,...

  • 记录Git学习

    1.git简介 Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓...

网友评论

      本文标题:git 学习记录

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