zoukankan      html  css  js  c++  java
  • Git与GitHub常用操作

    --------------------------基本操作--------------------------
    clone 拷贝远程仓库
    commit 本地提交
    push 远程提交
    pull 更新本地
    --------------------------初始化Git--------------------------
    git init 初始化本地库(<自动创建.git隐藏目录> 不要删除and修改)
    ll -lA 查看当前目录的所有文件(包含隐藏文件)及权限
    --------------------------设置签名--------------------------
    作用:区别不同开发人员的身份(与登录远程库的账号密码没有任何关系)
    项目级别->仅在当前本地库范围内有效
    git config user.name petch_pro
    git config user.email prtch01_pro@qq.com
    查看签名:cat .git/config(保存路径)
    系统用户级别->登录当前操作系统的用户范围
    git config --global user.name petch_glb
    git config --global user.email petch01_glb@qq.com
    查看签名:cd ~(切换家目录)
    cat .gitconfig(保存路径)
    优先级:项目级别>系统用户级别(二者最少有一个存在)
    --------------------------查看状态--------------------------
    git status 查看工作区、暂存区状态
    --------------------------添加--------------------------
    git add 将工作区的“新建/修改”文件添加到暂存区
    --------------------------提交--------------------------
    git commit -m "提交信息" 文件名
    --------------------------查看历史日志--------------------------
    git log 多屏显示历史记录(空格向下翻页、b向上翻页、q退出)
    git log --pretty=oneline / git log --oneline 当行显示
    git reflog 单行显示(常用)
    --------------------------版本切换--------------------------
    git reset --hard 索引值 切换历史版本
    git reset --hard HEAD^ 退回前一个历史版本(^可以为多个)
    git reset --hard HEAD~n 后退n步
    --------------------------版本切换的三个参数--------------------------
    reset 三个参数对比
    --soft -> 仅仅在本地库移动HEAD指针
    --mixed -> 在本地库移动HEAD指针,重置暂存区
    --hard -> 在本地库移动HEAD指针,重置暂存区and工作区
    --------------------------文件删除&找回--------------------------
    rm 文件名 删除文件
    git reset --hard 指针位置 删除文件并找回
    前提:删除前,文件存在时的状态提交到了本地库或暂存区
    --------------------------文件比较--------------------------
    git diff 文件名工作区的文件和暂存区进行比较
    git diff 历史版本(索引值/HEAD^/HEAD~) 文件名工作区的文件和本地库历史进行比较
    --------------------------分支操作--------------------------
    好处:同时并行推进多个功能的开发,提高开发效率
    各个分支开发过程中,如果某一分支开发失败,不会对其他分支造成影响。失败的分支删除重新开始即可。

    git branch 分支名 创建分支
    git branch -v 查看分支
    git branch -a 查看所有分支(远程&本地)
    git branch -r 查看所有远程库分支
    git checkout 分支名 切换分支
    git branch -d 分支名 删除分支

    合并分支
    1.git checkout 分支名 切换到接收修改的分支 
    2.git merge 新内容的分支名
    冲突问题
    冲突的表现:在不同的分支中同一文件同一行的内容不同时,在自动合并过程中就会发生冲突,需要手动合并
    解决冲突:
    1.编辑文件删除因为冲突导致系统添加的特殊符号
    2.修改文件,保存退出
    3.git add 文件名
    4.git commit -m "日志信息" (注意:在这里不能加文件名)
    --------------------------远程操作--------------------------
    git remote -v 查看地址别名
    git remote add 地址别名 地址 增加地址别名
    git push 地址别名 分支名 推送本地仓库到远程库(前提该GitHub账号是团队成员)
    git clone 地址 远程仓库拷贝到本地(带.git目录<自带初始化、自带地址别名、自带用户签名>)

    git pull 地址别名 分支名 将远程库拉取到本地
    pull = fetch +checkout+ merge
    git fetch 远程地址别名 分支名 获取远程分支
    git checkout 远程地址别名/分支名 切换本地分支
    git merge 远程地址别名/分支名 合并

    冲突问题:
    1.如果不是基于GitHub远程库的最近版本做的修改,不能推送,必须先拉取
    2.拉取下来如果进入冲突模式,则按照“分支冲突解决”即可

    跨团队协作:
    1.将GitHub链接发送给外援
    2.外援打开GitHub链接,并点击fork
    3.外援完成自己的工程后,push工程
    3.外援到自己的GitHub上,依次点击 Pullrequests->New pull request->Create pull request->编辑消息发送给工程所有人
    4.工程所有人登录GitHub,可以与外援对话,点击Commits查看代码(点击Files changed查看修改部分)没问题后,点击 Merge pull request
    5.其他人将远程库pull到本地

    Git的工作流程

     

  • 相关阅读:
    【luogu P1040 加分二叉树】 题解
    【luogu P4711 「化学」相对分子质量】 题解
    【luogu P2319 [HNOI2006]超级英雄】 题解
    【luogu P1640 [SCOI2010]连续攻击游戏】 题解
    【luogu P3369 普通平衡树(Treap/SBT)】 模板 Splay
    【luogu P2234 [HNOI2002]营业额统计】 题解
    【luogu P1494 [国家集训队]小Z的袜子】 题解
    【luogu P3901 数列找不同】 题解
    【luogu P3807 卢卡斯定理】 模板
    JAVA IO 体系
  • 原文地址:https://www.cnblogs.com/miaoxingren/p/9868653.html
Copyright © 2011-2022 走看看