技术标签: github git git&svn
Git
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
Git官网: Git
历史版本
git小故事:
记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件。
所有的版本数据都保存在服务器上,协同开发者做修改和保存。代表产品 SVN
有问题: 可能服务器故障或者损坏,会丢失数据,丢失历史文件。
所有版本信息仓库
git官网 Git
下载较慢: 可以用 国内镜像. 可百度.
http://npm.taobao.org/mirrors/git-for-windows/
下载 一个版本。 下一步 一直安装。
安装成功会在 安装目录中 有 git的图标以及相关的程序。
安装选项配置:
也可以一直 无脑下一步。
git Bash: Unix与 Linux风格的命令行,使用多,推荐。
git cmd: windows风格的命令号
Git GUI: 图形化界面的 Git, 不建议使用
可以右键打开 Git, 也可以通过鼠标 滚轮 去调整大小。
tab 命令补全
就是 list 的缩写,通过 ls 命令不仅可以查看 linux 文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。 有颜色区分
cd(changeDirectory) 命令语法: 到某个目录
cd .. 回到上一目录
cd D:
pwd 命令用于查看当前工作目录路径。
mkdir 命令用于创建文件夹。
在当前目录下创建文件夹: mkdir tt
创建连环文件夹: mkdir -p cc/aa/dd
删除一个目录中的一个或多个文件或目录,如果没有使用 -r 选项,则 rm 不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。
删除文件: rm a.txt
删除目录: rm –r aa
新建一个文件,
如: touch a.txt
移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。
当第二个参数为目录时,第一个参数可以是多个以空格分隔的文件或目录,然后移动第一个参数指定的多个文件到第二个参数指定的目录中。
mv a.txt D:/ceshi 移动文件 和修改名字,可以反复测试。
查看配置: git config -l
对应文件在: D:\D\Git\Git\etc\gitconfig
查看系统配置: git config –system --list
查看用户自己配置的: git config --global --list (新用户报错,没有配置,要配置用户名,密码)
设置用户名和密码:
执行一下命令初始化配置信息即可:
--global 这是设计系统级别 ,如果不带—global,设计项目级别,在该项目系统级别有效。
作用:主要是为了区分不同的开发人员。
设置git的用户签名。必须设置。
配置用户名:git config --global user.name "输入你的用户名"
git config --global user.name lpc
配置邮箱信息:git config --global user.email "输入你的邮箱信息"
git config --global user.email [email protected]
git并不会验证你的邮箱
注意: 用户签名和将来登录 github和 码云没有任何关系。只是为了标识你是谁?
一般工作流程如下:
Git 的工作区 暂存区 和版本库
我们先来理解下 Git 工作区、暂存区和版本库概念:
git一般执行的流程:
1 在工作目录添加,修改文件
2 将需要进行版本管理的文件放入暂存区
git add [file name]
撤销从 暂存区中管理的文件 git rm --cached aa.txt
3 将暂存区的文件提交到 git本地仓库
git commit –m “commit message” [file name]
所以: git文件的三种状态: 已修改(modified),以暂存(staged),已提交(committed)
如果推送到远程仓库, 用 push命令。
git创建仓库的方法有两种:
1 创建本地全新仓库
Git 使用 git init 命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的仓库中运行,所以 git init 是使用 Git 的第一个命令。
在执行完成 git init 命令后,Git 仓库会生成一个 .git 目录,该目录包含了资源的所有元数据,其他的项目目录保持不变。
该文件是一个隐藏文件。
2 克隆远程仓库:
Git文件的状态:
·
Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged
· Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
· Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改
· Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified
1 #查看指定文件状态
2 git status [filename]
3
4 #查看所有文件状态
5 git status
6
7 #精简的方式显示文件状态
8 git status -s
在Git的workspace hello 文件夹中测试:
git add . 或者 git add 文件名
git add . 会把本地所有untrack的文件都加入暂存区
如果是把暂存区中的文件撤回为 工作区:
回退命令:
$ git reset --hard HEAD^ 回退到上个版本
$ git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前
$ git reset --hard commit_id 退到/进到 指定commit的sha码
git reflog 常用于恢复本地的错误操作。
git reset --hard 3860ecf
git log可以显示所有提交过的版本信息,不包括已经被删除的 commit 记录和 reset 的操作 ,详细的日志
git reflog是显示所有的操作记录,包括提交,回退的操作。一般用来找出操作记录中的版本号,进行回退。精简版本的日志 用HEAD指针管理。
git reflog常用于恢复本地的错误操作。
场景:我们commit了一个操作,发现提交的是错误的,我们进行了回退,git reset HEAD^,也进行了checkout 操作,就是把工作区的文件也回退还原了,这时候发现commit的没有问题。等于说删了不该删的了,咋整,想再回退到删除之前的。找到之前的版本号进行回退,使用git log发现那个提交的版本号记录根本不存在了。
可以观察自己仓库中的: .git目录下面的 HEAD 和 ref 中的 heads 的master
几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的Bug修改、开发新的功能,以免影响开发主线。
分支的好处是: 同时推进多个功能的开发,提高开发效率。
各个分支在开发过程中,如果某一个分支开发失败,不会影响其他分支的开发,失败的分支删除重新开始即可。
分支操作的命令:
git branch dev 创建一个开发分支
git branch –v 查看现在有哪些分支
修改分支之后,要添加到暂存区,提交到本地库。
在主分支的位置上,合并 开发分支。
分支正常 合并,前面的命令够用。
在分支合并中,两个分支在同一个文件的同一个位置都做了修改。Git无法决定使用哪一个,必须的认为决定使用哪一个分支。
演示:
在主分支上添加 一行,保存,提交。
切换到dev分支,在dev分支上同一位值写一行,保存,提交。
切换到主分支。用主分支合并dev分支。
看结果。
看真实文件。手动解决。
解决之后, 添加 提交就行。 不要加文件名。
7.2 跨团队协作
git远程仓库有 gitbub, 码云, GitLab等
GitLab 地址The DevSecOps Platform | GitLab ,用于仓库管理的的开源项目,一般用在企业,学校内部网络,自己搭建git私服。
重点操作: 码云。
进入码云的官网,注册信息。
1 找到 ssh目录, .ssh
如果没有.ssh目录,可以自己建一个。
2 ssh-keygen -t rsa
用该指令之后,一路回车。不用输入
有对应的两个文件,
把生成的公钥 贴近码云中。 public 文件
验证成功之后,可以用码云创建一个自己的仓库。
可以验证是否连通gitee
ssh –T [email protected]
手写
ssh -t -p 22 [email protected]
本地库和远程库建立联系
在 gitee上新建空仓库的时候,有提示
cd existing_git_repo
git remote add origin https://gitee.com/lpcboy/lpcone.git
git push -u origin master
本地库 搞好,提交了之后push.
也可以:
git remote add origin https://gitee.com/lpcboy/lpcone.git
git push –set-upstream origin master
https://blog.csdn.net/jqwei2/article/details/93535543
1 在 gitee上新建一个仓库。
2 建一个仓库,按没有仓库的操作。
如果已经有仓库按照,已有仓库的操作。
如果 让输入密码: 输入正确。
如果用户名密码输入错误: 下一次还是错误的用户名密码。 Git是会保存用户名密码的。
在控制面板à 用户账户
删除即可,就会让你重新输入 密码。
操作就是正常的。
git add git commit git push
https://gitee.com/lpcboy/helloone.git
克隆下来测试:
注意:一定要进入 git目录。
新建一个 项目sb,
把远程copy下来的 git配置 copy进本项目中。
文件选中的状态.
git add .
可新建包,新建类 观察文件的颜色等。
可以提交到远程仓库 git push
也可以选中项目,提交.
第二种集成git的方式:
1 git中建好项目。
2.
3 导入到版本管理器.
在idea中使用Git提交代码到远程仓库_qq_43179622的博客-程序员宅基地
提交不上 解决方案:
https://blog.csdn.net/snakemoving/article/details/79478947
过滤资源文件夹,哪些可以不用提交。
配置git的安装目录,给Idea.
创建一个仓库就行。勾选的协议什么的可以不勾选。
记录SSH地址: https://gitee.com/lpcboy/lpcgit.git
https://www.cnblogs.com/haojile/p/13326536.html
把 .gitignore 放入项目跟目录下面。
选中项目,然后 git管理该项目。
直接提交就好,过滤文件过滤了不用的配置。
如果需要输入密码: 输入密码即可。
输入git的 ssh 地址。
协同开发的时候 ,永远 先 pull , 再push。
同时提交同一块代码 会冲突.
1 创建分支:
dev
2 在分支上开发代码,提交到远程仓库。
3 把分支上的代码 合并到 主分支
1 切换到主分支 ,master àcheckout
2 站在主分支的角度,合并代码到本地
3 远程仓库
本地选中,push上去。
文章浏览阅读1.2w次,点赞7次,收藏76次。MQ全称是MessageQueue(消息队列),是保存消息在传输过程中的一种容器,既是存储消息的一种中间件。多是应用在分布式系统中进行通信的第三方中间件,如下图所示,发送方成为生产者,接收方称为消费者。............_mq
文章浏览阅读1.5k次,点赞47次,收藏18次。Bug分析是QA的一项主要技能,需要针对项目中遇到的经典问题进行分类分析, 直达问题本质。 并且能够给团队其他项目或者成员起到典型的借鉴作用。 当然也有一些非常经典的问题可以进行技术深挖, 以供参考。 个人认为比较典型的「Bug分析」是stackoverflow, 当然, 一个完善的bug分析库, 可以进行问题分类总结。 对于测试新人是有很大的帮助的。本质上, 在测试领域很多问题是可重现可整理可规避的。另外, bug分析本身是为了拓宽每个人的认知边界, 缩小团队间的乔哈里窗以达到最佳的合作状态。一个「好的B
文章浏览阅读800次。HQST导读:PULSE普思是网络通讯行业中龙头企业之一,其中网络变压器产品大都由国内代工厂代为生产,H5020NLHX5020NL千兆四口网络变压器是普思公司经典老牌产品,相对整个市场用量不是很大,集中生产约一月20万颗左右……PULSE普思是网络通讯行业中龙头企业之一,其中网络变压器产品大都由国内代工厂代为生产,H5020NLHX5020NL千兆四口网络变压器是普思公司经典老牌产品,相对整个市场用量不是很大,集中生产约一月20万颗左右,……PULSE H5020NL千兆网络变压器对应HQS._4口网络变压器
文章浏览阅读242次,点赞3次,收藏9次。交换机,壳体采用镀锌钢板,结构紧凑,支持八个百兆端口,可配置一至四个百兆光纤端口。两路冗余电源设计,支持4pin可插拔端子,交直流通用,同时提供电源防接保护及过压、欠压保护,极大提升产品工作的稳定性。2.支持两路冗余电源设计,4pin可插拔端子,支持12~36V宽电压输入,交直流通用,同时提供电源防反接保护及过压、欠压保护,极大提升产品工作的稳定性。4.-40℃~75℃工作温度,-40~85℃存储温度,在极端气象条件下也能安全运行。8.支持IEEE802.3,IEEE802.3u,IEEE802.3x。
文章浏览阅读946次。Hi,我是阿昌,今天教你如何使用通义灵码。_通义灵码
文章浏览阅读2.3w次。我们在开发或编译旧版本NDK项目时,需要使用一些老版本的NDK,在这里提供了旧版NDK的列表及下载链接_ndk 老颁布
文章浏览阅读640次,点赞6次,收藏18次。网关是一个大的概念,没有特指是什么设备,很多设备都可以做网关,普通的PC机也能做,常用的网关设备是路由器。网关的作用主要是用来连接两个不同的网络,比如可以连接两个IP地址不相同的网络,或连接两个操作系统不同的网络,如WINDOWS与LINUX互连,或连接两个网络协议不同的网络,如TCP/IP与IPX.或拓扑结构不同的网络,如以太网和令牌环网。总之网关是一种中间媒介。而防火墙也可以做网关,但它的主要做用只是用来防病毒或防黑客,网关只算是防火墙的一个功能。网关与防火墙的区别。
文章浏览阅读4.1k次,点赞42次,收藏34次。背景在使用之前的代码时,报错: Traceback (most recent call last): File "xxx", line xx, in import pymysql ModuleNotFoundError: No module named 'pymysql'翻译:```追溯(最近一次通话):文件“xxx”,第xx行,在导入pymysqlModuleNotFoundError:没有名为“pymysql”的模块```原因 ......_modulenotfounderror: no module named 'pymysql
文章浏览阅读275次。1 import java.io.File;23 import java.io.IOException;45 import java.util.Locale;6789 import jxl.CellView;1011 import jxl.Workbook;1213 import jxl.WorkbookSettings;1415 import jxl.format.UnderlineStyle;..._android excel生成读取类
文章浏览阅读4.3w次,点赞16次,收藏126次。1、去微软官网下载完成ISO镜像,最好不要在线安装,打开官方链接 https://www.visualstudio.com/zh-cn/downloads/download-visual-studio-vs.aspx按下图操作:2、用虚拟光驱加载,或者直接右键解压。在安装前,先安装两个证书。亲测,安装后,减少了很多“安装包损坏或丢失”的现象。两证书下载地址链接: https:/..._vs2015离线版csdn
文章浏览阅读2k次,点赞4次,收藏3次。目前 postcss-pxtorem 版本最高6.0.0,报这个错是因为插件版本太高,降成5.1.1可解决这个报错解决方法:分两步1.执行npm uninstall post-pxtorem2.执行npm i [email protected]_error: postcss plugin postcss-import requires postcss 8.
文章浏览阅读787次。Linux-ARM开发_linux arm开发