zoukankan      html  css  js  c++  java
  • github操作

    Git,分布式版本控制系统

    1. 版本控制

    blogv1
    blogv2
    blog90
    ...
    blogv100

    PS: 文件管理版本,每个版本需要保留

    以上是使用文件或文件夹进行版本管理,以上方式有缺点:

    多个文件,保留所有版本时,需要将多个文件保存在本地
    协同操作,多人协同操作时,需要将文件发来发去...
    容易丢失,被删除意味着永远失去(可以选择网盘)

    简单总结:
    vss: 不用

    svn: 集中式版本控制系统;服务端有所有版本;客户端只有一个版本

    GIT:分布式版本控制系统

    共同点:
    - 服务端(保存代码的仓库)
    - 客户端(个人用户)

    2. 需求来了
    原始方法:
    a. 创业初期:单身太久,硬盘沾满,创业:北京热; 同城交友

    b. 开发新功能:直播(2个月)

    拷贝一份,进行编辑,1个月
    在回来:继续开发

    c. 紧急修复bug,2个小时
    从线上在拷贝一份,修复bug;上线

    Git方式:
    a. 创业初期:单身太久,硬盘沾满,创业:北京热; 同城交友
    进入程序目录

    git init => 初始化
    生成 .git 文件,用于保存git相关所有信息,如:每个版本

    git status => 查看状态

    git add 文件名

    git commit -m '提交信息'

    配置用户信息:
    git config --local user.name '名称'
    git config --local user.email '邮箱'

    其他:
    git ls-tree head 查看版本中所有文件
    git ls-files -s 查看暂存区和版本中所有文件
    b. 开发新功能:短信提醒
    有短信功能:
    开发短信功能
    创建msg.txt文件
    git add .
    git commit -m '开发短信功能'
    git log

    回滚(无短信功能):
    git reset --hard 92dea56e57466115efab904a5f1d9adc361111e8

    再回去:
    git reflog
    git reset --mix a615783
    git checkout 文件名
    c. 开发新功能:直播(2个月)
    方式一:stash
    工作区工作:
    git stash -> 将当前已经做过的修改,保存到一个临时地方
    修复bug
    git add .
    git commit -m '修复bug'

    git stash pop -> 临时地方内容重新放回工作区

    又出了一个bug
    git stash
    修复bug
    git add .
    git commit -m '修复bug'

    git stash pop 出现冲突,手动解决


    <<<<<<< Updated upstream
    同城交友网站
    张小戈
    =======
    同城交友网站
    张小戈
    开发直播功能到一半
    >>>>>>> Stashed changes


    同城交友网站
    张小戈
    开发直播功能到一半

    git add .
    git commit -m '修复bug'


    其他:
    git stash
    git stash apply ‘名称’
    git stash drop ‘名称’
    git stash list
    git stash pop

    方式二:分支

    master:只保留线上版本
    dev: 保存所有开发版本


    创建分支(注意当前所在分支):
    git branch dev
    进入分支:
    git checkout dev

    开发新功能:
    开发...
    git add .
    git commit -m '开发功能1'
    ...

    出现bug
    git checkout master
    git branch bug
    git checkout bug

    修复bug
    ...
    git add .
    git commit -m '修复bug'

    合并
    git checkout master
    git merge bug

    无冲突:过
    有冲突:
    手动解决
    git add .
    git commit -m '解决冲突'

    git branch -d bug

    再次回到dev,继续开发
    git checkout dev
    ...
    git add .
    git commit -m '开发完毕'

    合并
    git checkout master
    git merge dev
    无冲突:过
    有冲突:
    手动解决
    git add .
    git commit -m '解决冲突'

    d. 张戈,公司和家都要进行开发工作
    远程仓库:
    公共(自己):
    github
    https://code.csdn.net/
    https://git.oschina.net/
    公司(gitlab):
    自己搭建

    1. 注册账号

    2. 创建代码仓库 wwwww

    https://github.com/a877252372/wwwww.git
    公司:
    git remote add origin https://github.com/a877252372/wwwww.git

    git checkout master
    git push origin master # 推送
    下班回家
    回家:
    git clone https://github.com/a877252372/wwwww.git

    cd wwwww

    git branch dev origin/dev
    git checkout dev
    写代码

    git add .
    git commit ...
    git push origin dev

    公司:
    git checkout dev
    git fetch origin dev
    git pull origin dev 劲大

    功能11
    git add .
    git commit ...
    git push origin dev

    功能12:(忘记提交,下班回家)
    git add .
    git commit ...
    git push origin dev
    回家:
    git branch dev
    git pull origin dev
    功能13:
    git add .
    git commit ...
    git push origin dev
    公司:
    获取代码,
    git pull origin dev

    无冲突:过
    有冲突:
    手动解决
    git add .
    git commit -m '解决冲突'


    e. 协同开发
    同一个远程仓库

    A B C

    github:
    - 组织
    - 邀请

    1. 拉代码
    2. 开发...
    3. 合并
    先提交:没问题


    f. fork

    1. fork别人项目
    2. git clone xxxxxx
    3. 修改
    4. 提交【自己】

    5. new pull request
    6. 等

    7. fork别人项目

    3. 其他

    用户名和密码:
    https:...

    ssh
    ssh-keygen.exe
    公钥
    私钥
    公钥放在github

    git clone git@github.com:oyoui/bjstack.git
    git push ...

    忽略文件: .gitignore

    https://github.com/github/gitignore/blob/master/Python.gitignore

  • 相关阅读:
    Maven教程
    Logback文件这么配置,TPS提高至少10倍
    查看ElasticSearch服务状态和结果的URL
    no main manifest attribute, in demo-1.0.jar
    Rocketmq原理&最佳实践
    【ORACLE】Oracle提高篇之DECODE
    ZooKeeper架构原理你学会了吗?
    01:kubernetes概述
    08:图形页面管理监控
    07:企业级镜像仓库Harbor
  • 原文地址:https://www.cnblogs.com/hlan/p/7300970.html
Copyright © 2011-2022 走看看