zoukankan      html  css  js  c++  java
  • 版本控制之git学习

      最近学习了一下版本控制中比较符合开发者气质的Git,这里做一个总结。一来梳理所学的内容;二来也作为起点后续继续丰富。学习的方式主要为网络学习和个人实践。推荐两个学习网页,互相参考必有所成。

      博客园:http://www.cnblogs.com/best/archive/2017/09/07/7474442.html

      廖雪峰:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

      ------------------------------------------------------------------------------------------------------------

      1、工具准备

        a、下载Windows GUI:https://git-scm.com/ 【安装完成后,鼠标右键中将会出现git bash here和git gui here;这里我们主要用git bash here,这里类似于Linux命令,git + cmd】

        b、在github上注册一个账号:https://github.com

        b、小乌龟(工作中可能要):https://download.tortoisegit.org/tgit/2.5.0.0/

        d、smart git工具,windows模式助你完成命令难处理之处

      2、实践准备

        a、桌面上新建一个文件夹(项目:test),选中文件夹右击后,选择git bash here .

        b、为test创建git版本管理,执行: git init【你会在test文件夹下,看到隐藏文件夹.git,里面有HEAD/refs等。这就是用来进行版本控制的东西】

      3、基本知识

        a、Git含远程(github)在内,可以分为4个区。I(工作区-WorkSpace,即为test除了.git文件之外的部分)、II(暂存区-Stage/Index,即为.git中的Index部分)、III(本地版本区-Local Resopsity)、IV(远程版本区-github上)

        b、个人在工作区进行写代码和文档,完成后提交到暂存区,在提交到本地版本区,无误后再提交到远程端。由于项目本身可能是多人协作,大家都可以从远程端clone项目文档到本地开发。Git提供了不错的分支、标签和版本切换。基本所有过程可追溯、可逆。

        c、git中的文件类型:Untracted(项目新文件)、Unmodified(项目原始文件)、Modified(项目被修改文件)、Staged(暂存区中文件)。查看文件状态:git status [filename],系统会告诉你可能用到的一些脚本提示。

      4、常用命令

        git status:查看文件状态

        git add . 将当前目录下文件添加到stage中

        git commit -m "mesage"  提交到本地库,注释信息:message

        git checkout -b bname  切换分支,如果不存在则新建

        git log --pretty=oneline 查看本地日志历史,当前所在会有Head指向

        git merge master 在本地分支合并master代码

      5、场景1(团队协作)

        a.git clone ** //克隆代码待本地

        b.git checkout -b *** //新建分支

        c.develop or modify

        d.git add . //加入到stage中

        e.git commit -m "message" //提交到本地库

        f.review代码

        g.git checkout  master 切换到主分支

        h.git pull  更新代码

        i.git checkout ***切换分支

        j.git merge master //把master分支内容合并到当前分支中。

        k.git push origin ***  推送到远程库

      6.场景2(修复bug)

        a.git add .

        b.git stash  //放入临时中

        c.git checkout bugBranch 

        d.git pull --rebase origin master

        e.fix bug

        f.git add.

        g.git commit -m "message"

        h.git push

        i.git checkout ***

        j.git stash pop //切换回工作分支,并回复临时保存的工作场景

      7. 场景3 (分支管理:把本地的替换成远程的)

    git fetch --all
    git reset --hard origin/master (这里master要修改为对应的分支名)
    git pull
    

       8. 从远程拉取指定分区到本地

    git checkout -b 本地分支名 origin/远程分支名

      

        

  • 相关阅读:
    学Python要避免哪些坑,如何巩固好基础
    Python爬虫:现学现用xpath爬取豆瓣音乐
    福州大学软件工程1816 | W班 第10次作业[软件工程实践总结]
    福州大学软件工程1816 | W班 第10次作业[个人作业——软件产品案例分析]
    福州大学软件工程1816 | W班 第8次作业[团队作业,随堂小测——校友录]
    福州大学软件工程1816 | W班 第6次作业WordCount成绩排名
    福州大学软件工程1816 | W班 第4次作业(团队展示)成绩排名
    福州大学软件工程1816 | W班 第2次作业成绩排名
    软件工程github使用小结
    2018北航软工教学培训小结
  • 原文地址:https://www.cnblogs.com/SunHuaJ/p/7809472.html
Copyright © 2011-2022 走看看