git简介,及协作开发

git

简介

"""什么是git:版本控制器 - 控制的对象是开发的项目代码代码开发时间轴:需求1 > 版本库1 > 需求2 > 版本库2 > 版本库1 > 版本库2 """

git与svn比较

git的工作流程

git分支管理

git使用

安装

# 1.下载对应版本:https://git-scm.com/download
# 2.安装git:在选取安装路径的下一步选取 Use a TrueType font in all console windows 选项

基础命令

将已有的文件夹 - 初始化为git仓库
"""
>: cd 目标文件夹内部
>: git init
"""
在指定目录下 - 初始化git仓库
"""
>: cd 目标目录
>: git init 仓库名
"""
在仓库目录终端下 - 设置全局用户
"""
>: git config --global user.name ‘用户名‘
>: git config --global user.email ‘用户邮箱‘
?
注:在全局文件 C:\Users\用户文件夹\.gitconfig新建用户信息,在所有仓库下都可以使用
"""
在仓库目录终端下 - 设置局部用户
"""
>: git config user.name ‘用户名‘
    -- 用户名
>: git config user.email ‘用户邮箱‘
    -- 用户邮箱

注:在当前仓库下的config新建用户信息,只能在当前仓库下使用
注:一个仓库有局部用户,优先使用局部用户,没有配置再找全局用户
""" 
查看仓库状态
"""
# 当仓库中有文件增加、删除、修改,都可以在仓库状态中查看
>: git status
    -- 查看仓库状态
>: git status -s
    -- 查看仓库状态的简约显示
"""
工作区操作
# 通过任何方式完成的文件删与改
# 空文件夹不会被git记录
撤销工作区操作:改、删
"""
>: git checkout .
    -- 撤销所有暂存区的提交
>: git checkout 文件名
    -- 撤销某一文件的暂存区提交
"""
工作区内容提交到暂存区
"""
>: git add .
    -- 添加项目中所有文件
>: git add 文件名
    -- 添加指定文件
"""
撤销暂存区提交:add的逆运算
"""
>: git reset HEAD .
    -- 撤销所有暂存区的提交
>: git reset 文件名
    -- 撤销某一文件的暂存区提交
"""
提交暂存区内容到版本库
# git commit -m "版本描述信息"
撤销版本库提交:commit的逆运算
"""
回滚暂存区已经提交到版本库的操作:
    查看历史版本:
        >: git log
        >: git reflog
    查看时间点之前|之后的日志:
        >: git log --after 2018-6-1
        >: git log --before 2018-6-1
        >: git reflog --after 2018-6-1
        >: git reflog --before 2018-6-1
    查看指定开发者日志
        >: git log --author author_name
        >: git reflog --author author_name
    回滚到指定版本:
        回滚到上一个版本:
            >: git reset --hard HEAD^
            >: git reset --hard HEAD~1
        回滚到上三个版本:
            >: git reset --hard HEAD^^^
            >: git reset --hard HEAD~3
        回滚到指定版本号的版本:
            >: git reset --hard 版本号
            >: eg: git reset --hard 35cb292
"""

过滤文件

# .gitignore 文件
# 1)在仓库根目录下创建该文件
# 2)文件与文件夹均可以被过滤
# 3)文件过滤语法
?
""" 过滤文件内容
文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤
/文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤
?
eg:
a.txt:项目中所有a.txt文件和文件夹都会被过滤
/a.txt:项目中只有根目录下a.txt文件和文件夹会被过滤
/b/a.txt:项目中只有根目录下的b文件夹下的a.txt文件和文件夹会被过滤
"""

创建远程gitee仓库

选择线上仓库

"""
1.注册码云账号并登录:https://gitee.com/
2.创建仓库(课堂截图)
3.本地与服务器仓库建立连接
"""
"""
1)本地配置线上的账号与邮箱
>: git config --global user.name "doctor_owen"
>: git config --global user.email "[email protected]"
?
2)在本地初始化仓库(git init),并完成项目的初步搭建(项目架构)(一般都是项目负责人完成项目启动)
# 这个过程就是git的基础部分的本地操作
?
3)采用 https协议 或 ssh协议 与远程git仓库通信提交提交代码(一般都是项目负责人完成)
    i) https协议方式,无需配置,但是每次提交都有验证管理员账号密码
    >: git remote add origin https://gitee.com/doctor_owen/luffy.git  # 配置远程源
    >: git push -u origin master  # 提交本地仓库到远程源

    ii) ssh协议,需要配置,配置完成之后就可以正常提交代码
    >: git remote add origin [email protected]:doctor_owen/luffy.git  # 配置远程源
    >: git push -u origin master  # 提交本地仓库到远程源

    iii)查看源及源链接信息
    >: git remote
    >: git remote -v

    iv)删除源链接
    >: git remote remove 源名字 

注:origin远程源的源名,可以自定义;master是分支名,是默认的主分支
"""

用本地仓库首次初始化远程仓库

本地仓库与远程仓库建立源连接
前提:本地仓库已经创建且初始化完毕(代码已经提交到本地版本库)
?
本机命令,添加远程源:git remote add origin [email protected]*.git
    采用ssh协议的remote源 
创建电脑的公钥私钥
官网:https://gitee.com/help/articles/4181#article-header0
?
本机命令,生成公钥:ssh-keygen -t rsa -C "*@*.com"
    邮箱可以任意填写
本机命令,查看公钥:cat ~/.ssh/id_rsa.pub
?
码云线上添加公钥:项目仓库 => 管理 => 部署公钥管理 => 添加公钥 => 添加个人公钥
提交本地代码到远程仓库
命令:git push origin master

remote源操作

"""
1)查看仓库已配置的远程源
>: git remote
>: git remote -v
?
2)查看remote命令帮助文档
>: git remote -h
?
3)删除远程源
>: git remote remove 源名
eg: git remote remove origin
?
4)添加远程源
>: git remote add 源名 源地址
>: git remote add orgin [email protected]*.git
"""

多分支开发

分支操作
"""
1.创建分支
>: git branch 分支名
?
2.查看分支
>: git branch
?
3.切换分支
>: git checkout 分支名
?
4.创建并切换到分支
>: git checkout -b 分支名
?
5.删除分支
>: git branch -d 分支名
?
6.查看远程分支
>: git branch -a
"""

项目开发 git操作

基本流程
"""
1、开发前,拉一次远程仓库
2、工作区进行开发
3、将开发结果提交到本地版本库 - git status查看时没有待处理的事件
4、拉取远程仓库(每一次要提交远程仓库前必须先拉)
5、如果出现冲突,线下沟通(协商重新开发冲突文件),要重新走3、4步
6、没有冲突,提交到远程仓库
"""
协同开发
"""
1)所有人在一个分支上进行开发 - 通常开发分支名为dev
2)遵循git开发流程:先提交本地版本库,再拉取服务器代码
git clone 源地址
最后提交代码
提交本地版本库:git commit -m ‘版本信息‘
拉取服务器代码:git pull 源名 分支名
提交代码:git push 源名 分支名
"""
冲突解决
"""
1)打开冲突文件
2)定位到冲突位置: >>>>>冲突开始 自身代码 ==== 冲突代码 <<<<<<版本号
3)删除冲突提示信息:>>>>>冲突开始、====、<<<<<<版本号
4)线下沟通整合自身代码与冲突代码,形成最终代码结果
5)重新提交本地版本库,再拉取服务器代码,最后提交代码
"""
合并分支
"""
eg:将dev分支内容合并到prod分支上
1)切换到prod分支:git checkout prod
2)合并dev分支:git merge dev
"""

  

原文地址:https://www.cnblogs.com/cherish937426/p/11768137.html

时间: 2024-08-29 10:03:17

git简介,及协作开发的相关文章

Git 多人协作开发

当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且你的远程仓库的默认名称是origin 查看远程库的信息,用git remote [email protected] MINGW32 /c/gitskill (dev)$ git remoteorigin 或者,用git remote -v 查看更详细的信息: [email protected] MINGW32 /c/gitskill (dev)$ git remote -vorigin http

如何通过git协作开发

最近iOS群里的一些小伙伴刚刚毕业,刚参加工作的小伙伴们,对于如何进行git下的一个写作开发抱有较大的疑惑,今天小汤我就给大家分享个git下协作开发的小技巧. 如何通过git协作开发? 当两个开发者共用一个master进行上传操作时,这会遇到一个版本不一致的问题,如: 今天A clone了一份代码改,然后B 昨天也 clone了一份昨天的代码进行修改,这样改完两者先后提交,导致有多处的冲突等问题. 这个时候怎么解决呢? 首先,你可以直接对你clone的master分支进行操作 在commit后直

Git详细教程---多人协作开发

Git可以完成两件事情: 1. 版本控制 2.多人协作开发 如今的项目,规模越来越大,功能越来越多,需要有一个团队进行开发. 如果有多个开发人员共同开发一个项目,如何进行协作的呢. Git提供了一个非常好的解决方案 ---- 多人协作开发. 1.多人协作原理 典型的做法是,首先创建一个git服务器,被多个人所操作. 1.多人协助实现 分为如下几个步骤: 1.创建一个git裸服务器 (git init --bare) 2.从裸服务器将版本库克隆至本地(git clone ) 3.本地常规操作 4.

怎样通过git协作开发

近期iOS群里的一些小伙伴刚刚毕业,刚參加工作的小伙伴们,对于怎样进行git下的一个写作开发抱有较大的疑惑.今天小汤我就给大家分享个git下协作开发的小技巧. 怎样通过git协作开发? 当两个开发人员共用一个master进行上传操作时,这会遇到一个版本号不一致的问题.如: 今天A clone了一份代码改,然后B 昨天也 clone了一份昨天的代码进行改动,这样改完两者先后提交,导致有多处的冲突等问题. 这个时候怎么解决呢? 首先.你能够直接对你clone的master分支进行操作 在commit

Git+Github协作开发流程

采用合作开发者的方式进行协作开发,下面以zlcook和zlserver合作开发iqas-ios-record项目为例进行讲解,zlcook为项目创建者,zlserver为项目参与者.协作开发步骤如下: 1.建立协作开发关系 1.项目创建者zlcook在github创建项目iqas-ios-record Paste_Image.png 2.zlcook为项目iqas-ios-record添加合作开发者zlserver 搜索zlserver,点击Copy invite link复制链接,将该链接发送

Git简介【转】

本文转载自:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 Git简介 Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). Git有什么特点?简单来说就是:高端大气上档次! 那什么是版本控制系统? 如果你用Microsoft Word写过长篇大论,那你一定有这样的经历: 想删除一个段落,又怕将来想恢复找不回来怎么办?有办法,先把当前文件“另存为……”一个新

利用[email&#160;protected]进行团队协作开发平台

利用[email protected]进行团队协作开发平台 [email protected]介绍 [email protected] 是一个团队协作开发平台,轻松管理轻量级团队.代码运行平台(PaaS).代码质量检查应有尽有. 链接:https://team.oschina.net/ 使用过程 登录网站,进行注册 图1: 注册帐号ID为:牛奶巧克力 用户名为:qiaokeli66 注册成功后进入主界面 团队功能的使用 图2: 在页面右下角点击添加组员 录入自己的信息之后,我开始向组员发起加入邀

10秒钟构建你自己的”造轮子”工厂! 2019年github/npm工程化协作开发栈最佳实践

发起一个github/npm工程协作项目,门槛太高了!! 最基础的问题,你都要花很久去研究: 如何在项目中全线使用es2017代码? 答案是babel 如何统一所有协作者的代码风格? 答案是eslint + prettier 如何测试驱动开发,让项目更健壮? 答案是jest 如何持续化集成,方便更多协作者参与项目? 答案是circleci 这四样工具的配置,是每个github项目都会用上的.另外,gitignore配置.editconfig.readme.lisence...也是必不可缺的. 你

Git学习:版本控制、Git简介与安装

1.什么是版本控制(Version Control) 2.Git简介 3.Git的安装 3.1 Linux环境下安装Git 3.2 Windows环境下安装Git 1.什么是版本控制(Version Control) 如果你长期使用过某个软件,或者长期玩过某款游戏,那你就应该听说过“版本”一词,甚至遇到过软件版本的更新,比如腾讯QQ最新版是9.1.6版本,英雄联盟最新版是9.14版本.从用户的角度来说,软件的版本往往是越新越好,因为越新的版本一般意味着更多的功能.更好的界面以及更少的BUG.但是