美文网首页
git的管理工具

git的管理工具

作者: 7级先生 | 来源:发表于2019-01-08 16:32 被阅读0次

    1.0 git安装

    Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行使用。
    下载地址

    1.2. 初次运行 Git 前的配置

    打开 git 命令行工具

    # 配置 用户名
    git config --global  user.name  xxx 
    
    # 配置 邮箱
    git config --global  user.email  xxx 
    
    # 查看用户名
    git config   user.name  
    

    1.3 创建版本库

    git init

    1525851668248.png

    1.4 添加到暂存区

    现在我们的代码 和 git 仓库 还没有直接的联系 查看 git 仓库状态 输入 git status
    输入 git add * 对所有文件进行跟踪

    1525852100376.png
    因此,我们可以 随时的 输入 git status来查看当前仓库的状态,来获得 提示。

    1.5 提交本地仓库

    暂存区的意思 只是暂时存储文件,当需要把对文件的操作 永久存储下来时,需要在把暂存区中的文件提交到到本地仓库。
    入以下命令进行提交,同时 还需要备注 信息 如 初始化项目 、 新增了购物接口 等。
    git commit -m"初始化项目"
    重新输入 git status 查看git 仓库状态

    1525853095009.png

    1.5.1总结

    把刚才操作的流程,换成专业的术语。

    • 工作目录 :刚才操作的文件夹 我的第一个网站 就称为 工作目录
    • 暂存区 : 是用来存放 对文件进行了 跟踪,但是还没有 提交到 本地仓库 的地方
    • 本地仓库: 最终实现 文件版本管理的地方。


      1525853953043.png

    1.6 忽略文件

    有时候,在工作目录下的某些文件,是属于私人的或者是项目运行所产生的临时文件,并不需要添加到 版本控制中。 如 新增一个文件 私人密码

    1525858765405.png
    查看git仓库状态
    git status
    1525859125972.png
    此时 我们可以使用 git 规定的一个文件 .gitignore 在里面指定需要过滤的文件

    直接在windows 右键 新建文件 gitignore 会创建失败。
    使用命令行的方式创建

    touch .gitignore
    

    编辑 .gitignore 文件 直接写入 要忽略的文件名即可

    # 忽略该文件
    私人密码.txt
    

    查看git仓库状态

    git status
    
    1525859577480.png

    大部分情况下,我们也需要将 .gitignore 文件一起提交到本地仓库中实行版本控制

    添加到暂存区   该文件 使用 git add * 无效 需要手动指定文件名 
    
    git add .gitignore
    

    提交到本地仓库

    git commit -m "添加了忽略文件列表"
    

    1.6.1 忽略文件语法

    • 语法大部分和正则类似

    • 空行或是以#开头的行即注释行将被忽略;

    • 语法大部分和正则类似

    • 空行或是以#开头的行即注释行将被忽略;

      # 这种是注释
      
    • 以斜杠 “/” 结尾表示目录;

      css/
      
    • 以星号 “*” 通配多个字符;

      *.js
      
    • 以问号 “?” 通配单个字符

    • 以方括号 “[]” 包含单个字符的匹配列表;

    • 以叹号 “!” 表示不忽略(跟踪)匹配到的文件或目录;

    • 可以在前面添加斜杠 “/” 来避免递归

      # 忽略根目录下的 css 文件夹
      /css
      # 忽略所有的css文件夹
      css/
      

    2.1 推送到远程仓库

    因为在团队开发中,我们的项目文件是需要和组员进行分享的,所以实现这个功能,就必须得借助远程仓库。

    远程仓库只是 本地仓库的一个备份。

    目前 用得比较多的有 github码云

    • github做为最著名的git仓库托管商,是行业内的绝对权威.它给无数的开发者提供了共同学习发展的平台.

    • 码云是github的国产版,对国人做了针对性的优化,在国内也是使用者众多

    我们主要演示 github的使用,码云 强烈建议 课下 自己学习使用。

    2.2 注册 github

    先注册一个 github帐号


    1525915907144.png

    2,3 新建远程仓库

    1 一个github帐号可以建立多个远程仓库,一般 一个项目使用一个仓库。


    1525916009292.png

    2.4 填写仓库信息

    1525916256235.png

    2.5创建成功

    1525916479663.png

    2.6 推送到远程仓库

    远程仓库建立完毕之后,我们可以 将 之前的 本地仓库 我的第一个网站 推送到上面新建的 test 远程仓库上
    先记录远程仓库的地址

    1525916715340.png
    https://github.com/itcastWsy/test.git
    

    把远程仓库 记录在一个 变量 origin 上 该名字可自定义

    git remote add origin https://github.com/itcastWsy/test.git
    

    在推送到远程仓库之前,先确保 本地仓库已经 执行过 commit 了,这样 才会保证 本地仓库 和远程仓库一致。
    查看本地仓库状态

    git status
    
    1525917201540.png

    开始推送

    git push -u origin master
    

    提示输入用户名 ,直接输入即可 如 itcastWsy 然后按下回车

    1525917393459.png
    提示输入密码
    1525917512404.png
    没有看到报错,就是 推送成功
    1525917563467.png
    同时,刷新一下 github 页面 看到远程仓库上 显示出 仓库的信息了
    1525917685788.png

    2.7 从远程仓库克隆

    假设 建立本地仓库、 推送到远程仓库 的工作都是项目经理完成了。此时,你做为一个新加入项目的 程序猿,要做的事就是从远程仓库上 克隆 代码。
    --问项目经理拿 远程仓库的地址

    https://github.com/itcastWsy/test.git
    

    在你的电脑上任意目录下(如 桌面) 开始克隆
    在桌面上 打开 git bash 命令行工具 输入

    git clone https://github.com/itcastWsy/test.git
    
    1525918417230.png

    2.8 从远程仓库获取更新

    此时,项目经理的代码 和 你的代码 是一模一样的。现在 项目经理 新增了一个文件 home.html,并把它提交到远程仓库上。
    新建 home.html 文件

    touch home.html
    

    添加到暂存区

    git add *
    

    提交到本地仓库

    git commit -m "新增了home.html"
    

    推送到远程仓库

    git push 
    
    1525919345574.png

    查看远程仓库


    1525919393855.png

    那么现在 做为程序员的你 需要把代码 进行更新
    回到 test 文件夹内,打开 git bash 命令行

    1525919520069.png
    输入以下命令 进行更新
    git pull
    
    1525919829352.png

    2.9 git clone 和 git pull 的区别

    • git clone 是克隆,只需要执行一次
    • git pull 是 更新,后期反复使用

    3.0 还原文件到上次commit状态

    假设做为程序员的你,刚刚把代码更新下来,便上厕所去了,这个时候你的熊孩子趁你不在,对着你的键盘就是一顿 啪啪啪 ,把你 home.html 文件敲得面目全非。
    你现在想要做的事,就是把 home.html 还原到 拉取下来的状态。
    原来的home.html 内容是空的。(你是不知道里面的内容的)
    熊孩子 把 home.html 改成了

    <h1>钱多话少死的早</h1>
    

    开始还原,在 test 目录下,输入命令行

    git checkout  home.html
    
    1525922259127.png

    如果想要还原多个文件,可以

    • 还原文件夹 css 文件夹
    git checkout css
    
    • 还原当前目录的所有文件
    git checkout ./ 
    

    3.1 查看版本历史
    做为 新加入项目的你,想要了解 这个项目,到底做过了哪些版本,想要看到之前每一次提交时的备注信息
    此时,你的 test 文件夹内 输入 命令进行查看

    git log
    
    1525920485139.png

    3.2 还原到某一个版本
    做为 新加入项目的你,来获取了最新的代码之后,发现项目太大了,你不好去学习和了解 其中的某一个模块的功能和代码。如


    1525922607367.png

    此时,可以把整个项目 还原到 完成了登录功能的状态
    记录 该版本的 commit 字段


    1525922690195.png
    3db7762c593251f1a78e518fdd3ed6d6cad626bc
    

    开始还原 (commit 字段 最少 写 6位)

    git reset -–hard 3db7762c593251f1a78e518fdd3ed6d6cad626bc
    
    1525922921419.png

    如果,在次状态下又想回到 最新的版本 新增了home.html 呢 查看提交信息

    git log
    

    发现 完成登录功能 之后的日志信息 丢失了。


    1525923215275.png

    此时,输入

    git reflog 
    
    1525923554914.png

    还原到最新的版本

    git reset --hard 5038cc9
    
    1525923659935.png

    3.3. 小结

    • git checkout xxx 只能还原文件到上一个版本
    • git reset --hard 'commit的id' 可以还原到任意版本
    • git reflog 可以查看丢失了的版本的日志信息

    4.0 配置ssh

    我们把文件从本地仓库推送到远程仓库的方式有两种

    • HTTPS 每次都要手动输入 用户名和密码
    • SSH 配置证书后,不用手动输入用户名和密码

    4.1 配置证书

    在git bash 命令行中输入
    ····
    ssh-keygen -t rsa -C "邮箱地址"
    ····
    然后一直按回车。直到出现如下界面 代表本地 证书生成成功

    1525933559552.png

    输入命令 打印密钥
    ····
    cat ~/.ssh/id_rsa.pub
    ····


    1525933696717.png

    按以下步骤进行粘贴即可

    1525934009733.png
    输入
    ····
    ssh -T git@github.com
    ····
    出现以下界面代表成功。如果失败,建议多尝试几次。
    1525934471737.png

    4.2 将提交方式 HTTPS 改为 SSH

    复制 SSH 地址

    1525934827313.png
    ····
    git@github.com:itcastWsy/test.git
    ····

    修改 origin 地址

    因为之前已经将 地址 存入 origin 变量了 。查看 origin
    ····
    git remote -v
    ····


    1525934970736.png

    此时,将origin的地址 改为 ssh 地址即可
    ····
    git remote set-url origin git@github.com:itcastWsy/test.git
    ····
    重新查看 git remote -v 发现修改成功

    1525935054456.png
    按照以上步骤执行完毕之后,再次推送到远程仓库时,就不用再输入用户名和密码了。

    5.0 常用git命令

    注解 命令
    git reset HEAD XXX 从暂存区移出
    git diff 查看编辑过的文件和 版本库的区别
    git config user.name xxx 配置当前仓库的用户名
    git config user.email xxx 配置当前仓库的邮箱
    git init 初始化 git 仓库
    git add xxx 添加到暂存区
    git commit -m "备注" 提交到本地仓库
    git commit -m "备注" -a git add 和 git commit 的综合
    git remote -v 查看远程仓库地址
    git remote add 远程仓库名 远程仓库地址 添加远程仓库地址
    git remote rm 远程仓库名 删除远程仓库
    git remote set-url 远程仓库名 远程仓库地址 修改远程仓库地址
    git push 远程仓库地址 master 提交到远程仓库
    git push 远程仓库地址 master -u 提交到远程仓库 (以后 git push 即可)
    git clone 远程仓库地址 克隆仓库
    git pull 拉取更新
    ssh-keygen -t rsa -C "邮箱地址" 生成 ssh证书
    cat ~/.ssh/id_rsa.pub 查看ssh证书
    git reset --hard "commit Id" 还原到某版本
    git reset --hared HEAD^ 还原到上一个版本
    git log 查看版本历史
    git reflog 查看更强大的版本历史
    git checkout 文件名 还原文件到上一个版本
    git branch 分支名 创建分支
    git checkout 分支名 切换到分支
    git merge 分支名 合并分支
    git branch 查看分支
    git branch -d 分支名 删除分支

    相关文章

      网友评论

          本文标题:git的管理工具

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