• github小总结


    多分支,不会污染代码,开源式的社交网站,及代码托管网站
     
    基本操作
    第一步:(初始化仓库)
    git init
     
    第二步:(配置个人信息:id和邮箱)
    git config --global user.name "Promise-lx"
     
    git config --global user.email "1787088023@qq.com"
     
     
    查询语句
    1、查看是否配置好:
    git config --list
     
     
    第三步:(从工作区提交到暂存区)
    git add index.html
     
    第四步:(从暂存区提交到版本区)
    git commit -m "第一次提交“
     
    2、查看文件改动状态
    git status
    (modified: index.html为红色,说明改动过;
    为绿色,说明没改动,至少要提交到暂存区才能检测)
     
     
    3、查看每次提交过的文件,每个不同完全版本号;
    git log
    (commit b3243243242432342
    Author: Promise-lx 1787088023@qq.com
    Date:时间
     
    查看缩写版本号
    git reflog
     
     
     
    4、原文件被删,让原文件复原回退
    (注意,暂存区如果没有commit进版本区,暂存区文件消失回退不了)
    git reset --hard HEAD (回退到删除前的文件(该文件默认都提交commit版本区里))
    git reset --hard HEAD^ (回退到删除前的文件上一个版本(上一个commit版本区里的文件))
    git reset --hard HEAD^^ (上上个版本)
     
    回退到指定版本号:
     
    先查看缩写版本号;再复制版本号
    git reset --hard 546374
     
     
     
    5、当不知道工作区是否保存到了暂存区,可以查看工作区和暂存区的区别;
    git diff index.html
    (看红色文件内容,-开头表示该红色内容结尾(只有一个减号内容),+开头红色内容为后面添加的(表示没有添加进暂存区,为后面修改的),
     
     
    删除操作
    第五步:删除文件内容
    rm index.html
    (不用git开头);
     
     
    分支操作
    master:为主分支,一般情况下不在主分支进行操作
    1、查看分支
    git branch
    2、创建分支
    git branch name(名字随意)
    3、切换分支
    git checkout name
    4、创建并切换分支
    git checkout -b name
     
    秘钥的获取
    ssh-keygen -t rsa -C "1787088023@qq.com"
    (一路回车,或文件在C:UsersAdministrator.ssh id_rsa.pub文件里打开)
    查看秘钥
    cat ~/.ssh/id_rsa.pub
     
     
     
    git linux 语言编写
    pwd:查看当前文件的路径
    touch:创建文件
    mkdir:创建文件夹
    ls:列出当前文件夹所有的东西
    cat:查看文件内容
     
    流程图
     
     
     
     
     
     
    简单的保存流程
     
    第一步:克隆项目地址(注意是http开头的);
     
    git clone https://github.com/Promise-lx/cs-1804.git name(保存的文件夹名字)
     
    在该name文件夹里创建文件比如index.html
     
    第二步:进入该文件夹并查询分支是否变化;
     
    cd name
     
    git status
     
    第三步:添加暂存区和版本区
    git add index.html
    git commit -m "保存文件"
     
    第四步:push进存储区
    git push
     
    当文件改变时,重复执行
    git status
    git add index.html
    git commit -m "第二次保存"
    git push
     
     
     
     
     
     
     
     
    实际工作流程:
    第一步:克隆项目地址(注意是http开头的);
     
    原分支master,有index.html文件
     
    git clone https://github.com/Promise-lx/cs-1804.git zhangsang(保存的文件夹名字)(改bug角色)
    git clone https://github.com/Promise-lx/cs-1804.git lisi(增加功能角色)
     
    第二步:创建不同分支
     
    改原项目BUG过程
    来到张三的文件夹
    cd zhangsan
     
    创建张三分支并切换到
    git checkout -b zhang
     
    查询文件是否改动
    git status
     
    当文件改动过了,为红色时,提交暂存区
    git add index.html
     
    提交版本区
    git commit -m "张三提交"
     
    此时git push会报错,应把此时创建好的分支更新到远端的github里Branch去,本地文件创建github里没有改分支无效,只需执行一次,后面不用
    git push --set-upstream origin zhang
     
    git push
     
    主分支master合并子分支文件内容操作(cto操作,老大操作)
     
    回退
    cd..
     
    进入主分支文件夹,分支默认回到master
    cd masterfile
     
    此时git checkout zhang切换到张分支检查文件内容,会报错没有改分支,不同文件夹创建的分支不能相互访问,需要把线上github里的每个分支取到
    (pull会把所有字分支文件取到,取单个分支用git fetch
    git pull
     
    查看所有分支,不过并没有zhang分支,原因不明
     
    git branch
     
    可以切换到zhang分支
    git checkout zhang
     
    切换到主分支
    git checkout master
     
    主分支文件内容合并子分支文件内容(由原先内容变为了张三写的内容)
    git merge zhang
     
    保存到github储存区
    git push
     
     
    开发原项目新功能过程
     
    李四在原分支master,有index.html文件里新增了index.js文件
     
    回退
    cd..
     
    切换李四文件夹
    cd lisi
     
    创建分支li并切换
    git checkout -b list
     
    查询文件是否改动
    git status
     
    提交暂存区
    git add index.js
     
    提交版本区
    git commit -m "李四开发的功能"
     
    拉取主分支代码,先切换到主分支
    git checkout master
     
    可以直接pull取得
    git pull
     
    再次切换到lisi分支
    git checkout lisi
     
    子分支文件内容合并主分支文件内容
    git merge master
     
    此时出现一个这样的显示框
    按esc,输入 :wq 回车
    意思是退出当前可编辑的状态
     
    保存到github储存区,git.push,不过远端的github里Branch并没有lisi分支,先更新
    git push --set-upstream origin lisi
     
    push进存储区
    git push
     
    到主分支master合并子分支文件内容操作(cto操作,老大操作)
    回退
    cd..
     
    进主分支文件
    cd masterfile
     
    此时找子分支lisi,切换到lisi分支会报错,先要取得李四的分支
    git fetch
     
    查询所有分支,此时看不到lisi分支,原因不明
    git branch
     
    可以切换到lisi分支
    git checkout list
     
    先回到主分支
    git checkout master
     
    再合并子分支
    git merge lisi
     
    存到GitHub存储区
    git push
     
     
     
    继续张三步骤
     
    回退
    cd..
     
    找张三文件夹
    cd zhangsan
     
    切换主分支,(经过李四的操作,发现该文件代码还未更新时)
    git checkout master
     
    更新本地文件(代码)时,用git pull;更新分支时,用git fetch
    git pull
     
    切换张三分支
    git checkout zhang
     
    合并主分支代码
    git merge master
     
    此时张三新增了一个list.js文件
     
    添加暂存区
    git add list.js
     
    添加版本区
    git commit -m "张三新功能"
     
    此时线上github里有zhang分支
     
    直接push存储区
    git push
     
    又是老大操作,合并子分支
    回退
    cd..
     
    主分支文件
    cd masterfile
     
    拉取所有子文件内容
    git pull
     
    主分支内容更新了,子分支未更新时,需要删除子分支
     
    在当前分支master下
    git branch -D zhang
    git branch -D lisi
     
    本地分支删除,远端github里Branch
     
    查询远端分支
    git remote show origin
     
    删除远端分支
    git push origin --delete zhang
     
     
     
    所有操作都在子分支操作,不要去动主分支文件;每个分支文件内容操作互不影响
     
     
  • 相关阅读:
    【学习笔记】Hibernate关联映射(Y2-1-6)
    百度搜索排名API接口返回JSON数据格式
    HtmlAgilityPack 属性获取
    HtmlAgilityPack
    HighCharts实现双Y轴
    QQ在线客服配置
    项目管理者必知:适用于仪表盘项目的7个优秀JavaScript库
    极简Node教程-七天从小白变大神(二:中间件是核心)
    极简Node教程-七天从小白变大神(一:你需要Express)
    CSS滚动插件
  • 原文地址:https://www.cnblogs.com/xin1021/p/9323363.html
Copyright © 2020-2023  润新知