git使用--01

1. 版本控制工具

集中式:CVS、SVN---版本库是集中存放在中央服务器,依赖网络
分布式:Git     ---不必联网、分支管理

2. 初始化配置

    # 制定E盘下Git代码仓库
    cd E:
    mkdir Git
    cd Git

    # 配置用户名密码
    git config --global user.name 'zyanwei*'
    git config --global user.email 'zyanwei*@163.com'
    git config --list     测试
    
    # 初始化
    git init

    # 查看
    git config --list

3. 公钥设置

    1. ssh-keygen -t rsa -C "zyanwei*@163.com" -f "gitee_id_rsa"
    2. 一直按回车(Enter),不要输入任何密码之类,生成 ssh key pair,win下位置:C:\Users\zy\.ssh
    3. ssh-add C:/Users/zy/.ssh/id_rsa
         如果出现:Could not open a connection to your authentiacation agent,则执行`ssh-agent`,再执行`ssh-add C:/Users/zy/.ssh/id_rsa`
    4. cat C:/Users/zy/.ssh/id_rsa.pub,将公钥复制出来
    5. gitee右上角设置--SSH公钥-添加公钥
    6. 测试公钥设置:ssh -T git@gitee.com
      出现:You've successfully authenticated, but GITEE.COM does not provide shell access 即为成功。

4. 连接远程仓库

    # 删除远程仓库(若已有远程仓库,则可删除)
    git remote rm origin

    # 添加远程仓库
    git remote add origin git@gitee.com:zyanwei*/python10.git

    # 拉取代码
    git pull origin master

    # 首推
    git push -u origin master

    # 创建本地分支
    git branch jenkins ## jenkins分支

    # 切换分支
    git checkout jenkins

    # 设置分支关联
    git branch --set-upstream-to=origin/jenkins jenkins # 将本地jenkins关联到远程jenkins

5.常用命令

    + Add文件
        git add README.md

    + commit文件
        git commit -m "add a readme file"

    + 查看状态
        git status

    + 恢复到暂存
        git reset README.md

    + 文件暂存时可恢复到修改前
        git checkout -- README.md

    + 查看历史(id)
        git log     -- 查看当前分支之前的log
        git flog    -- 查看当前版本之后的log
        git log  --decorate --oneline --graph

    + reset命令
        语法:git reset --mixed HEAD~   (~代表上一个版本,~2或~~上上一个版本并依次类推)
        - 移动HEAD的指向,将其指向上一个快照
        - 将HEAD移动后指向的快照回滚到暂存区域

        语法:git reset --soft HEAD~
        - 移动HEAD的指向,将其指向上一个快照

        语法:git reset --hard HEAD~
        - 移动HEAD的指向,将其指向上一个快照
        - 将HEAD移动后指向的快照回滚到暂存区域
        - 将暂存区域的文件还原到工作目录

        对比总结:
        - 移动HEAD的指向(--soft)
        - 将快照回滚到暂存区域([--mixed],默认)
        - 将暂存区域还原到工作目录(--hard)

    + 回滚快照:
        - 语法:git reset id        -- 回滚版本,只需输入id前5位
        - 语法:git reset id file   -- 回滚个别文件

    + 比较快照
        - 语法:git diff id1 id2    -- 比较任一2个版本
        - 语法:git diff idn        -- 比较当前目录和任一版本
        - 语法:git diff -- cached idn  -- 比较任一版本和暂存区域

    + 更正提交
        - 语法:git commit --amend    进入编辑,编辑方法同vim,i进入编辑,q!保存退出
        - 语法:git commit --amend -m "。。。"   修改提交说明

    + 删除文件
        - 语法:git rm <file>    删除工作区域和暂存区域的文件,即取消跟踪.如果文件已经commit,则需要使用命令:git reset --soft HEAD~
        - 语法:git rm -f <file>   强制删除Stage和Working Directory的文件
        - 语法:git rm --cached <file>     删除Stage中的文件

    + 重命名文件
        - 语法:git mv <oldFilename> <newFilename>

    + 创建分支
        - 语法:git branch <name>

    + 切换分支
        - 语法:git checkout <name>
        - 语法:git checkout -d <name> 创建并切换

    + 合并分支
        - 语法:git merge <name>  合并到当前分支

    + 删除分支
        - 语法:git checkout <name>
        - 语法:git branvh -d <name>
强制覆盖本地分支
- git fetch --all    //只是下载代码到本地,不进行合并操作
- git reset --hard origin/分支名如master    //把HEAD指向最新下载的版本
远程提交
    - git add *
    - git commit -m '*'
    - git pull
    - git push origin master:zhangyi            本地分支/远程分支
    - 远程merge必须在page页中操作
服务器代码合并本地代码
    - git pull
        error: Your local changes to the following files would be overwritten by merge
        Please commit your changes or stash them before you merge.

    解决办法
    -  git stash     //暂存当前正在进行的工作。
    - git pull   origin master //拉取服务器的代码
    - git stash pop //合并暂存的代码
服务器代码覆盖本地代码
- git reset --hard  //回滚到上一个版本
- git pull origin master

6. gitee和gitlab同时配置

    在.ssh目录下生成公钥,并将公钥添加到网站中
        ssh-keygen -t rsa -C "zyanwei*@163.com" -f "gitee_id_rsa"
        ssh-keygen -t rsa -C "zyanwei*@163.com" -f "gitlab_id_rsa"
    
    配置config(无文件则创建),文件内容如下
    vi .ssh/config
    -------------------------------------------------
        # gitee
        Host gitee.com
        HostName gitee.com
        # 默认端口22可能会被禁用
        # Port 443
        PreferredAuthentications publickey
        IdentityFile ~/.ssh/gitee_id_rsa

        # gitlab
        Host gitlab.com
        HostName ssh.gitlab.com
        # Port 443
        PreferredAuthentications publickey
        IdentityFile ~/.ssh/gitlab_id_rsa
    -------------------------------------------------
    测试
        ssh -T git@gitee.com
        ssh -T git@gitlab.com

7. 其他配置

    # 忽略Windows/Unix换行符转换问题
    git config --global core.autocrlf false

    # 避免git gui中的中文乱码
    git config --global gui.encoding utf-8

    # 避免git status显示的中文名乱码
    git config --global core.quotepath off

    # windows区分大小写设置
    git config --global core.ignorecase false

    # 防止出现windows回车换行符问题
    git config --global core.autocrlf input

    # 颜色设置 
    git config --global color.branch auto
    git config --global color.diff auto
    git config --global color.interactive auto
    git config --global color.status auto
    git config --global color.ui auto

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值