Git浅谈
简单聊聊Git,从Git是什么?能干什么?(介绍)到安装配置(安装)再到上传仓库(上传)最后是分支的创建、使用、删除(分支)
介绍
Git是目前世界上最先进的分布式版本控制系统,有这么几个特点:
- 分布式 :是用来保存工程源代码历史状态的命令行工具
- 保存点 :保存点可以追溯源码中的文件,并能得到某个时间点上的整个工程项目额状态;可以在该保存点将多人提交的源码合并,也可以退到某一个保存点上;
- 离线操作性 :Git可以离线进行代码提交
- 基于快照 :Git提交是将提交点指向提交时的项目快照,提交的东西包含一些元数据(作者,日期,GPG等);SVN等老式版本控制工具是将提交点保存成补丁文件
- Git的分支和合并 :分支模型是Git最显著的特点,因为这改变了开发者的开发模式,SVN等版本控制工具将每个分支都要放在不同的目录中,Git可以在同一个目录中切换不同的分支;
- 分支即时性:创建和切换分支几乎是同时进行的,用户可以上传一部分分支, 另外一部分分支可以隐藏在本地,不必将所有的分支都上传到GitHub中去;
- 分支灵活性:用户可以随时创建合并删除分支,多人实现不同的功能,可以创建多个分支进行开发,之后进行分支合并,这种方式使开发变得快速,简单,安全。
安装
安装分为安装软件和码云注册新建仓库(也可以是GitHub,但经常性的进不去)
码云注册及新建仓库
邮箱注册即可,这没啥说的;然后就是新建仓库右上角加号>新建仓库
名称自定义,路由一样,你可以选择是私有还是公开,这几个是必须的,其他的选填;
点击最后的确定,会出现这个地址
安装Git软件
去这里下载https://npm.taobao.org/mirrors/git-for-windows/,官网能下到你怀疑人生,选择你需要的版本下载安装即可;
安装完后你可以直接打开利用指令进入你的项目;或者在你的项目目录里,右键选择Git Bash Here打开
打开将你的用户名,邮箱配置了,这是个全局配置,会把所有这个电脑上的仓库都写上,当然你可以针对某个仓库设不同的
git config --global user.name "名字"
git config --global user.email "邮箱"
设置SSH KEY
配置本地SSH KEY才可以使远程跟本地连接
你可以按如下命令来生成 sshkey:
ssh-****** -t rsa -C "aaa@qq.com"
#Generating public/private rsa key pair...
按照提示完成三次回车,即可生成 ssh key。通过查看 ~/.ssh/id_rsa.pub
文件内容,获取到你的 public key
cat ~/.ssh/id_rsa.pub
#ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
将这些内容复制,打开码云设置>安全设置>SSH公钥,将刚刚的复制进去就行;
完后输入指令ssh -T aaa@qq.com
,如果出现下图的这样就代表设置成功了
上传
安装流程走
git init
初始化一个新本地仓库,它在工作目录下生成一个名为.git的隐藏文件夹
git add .
不要忘记空格和点,点代表将文件夹下的所有文件全部添加进本地仓库,你也可以指定某个文件比如:git add index.html
git commit -m "1.0版本"
把文件提交到仓库
git remote add origin 刚刚的地址
关联远程仓库
git push -u origin master
把本地库的所有内容推送到远程库上
第一次进行可能会弹出一个账号密码框,将远程仓库的密码输进去,如果错了,去这个地方更改
分支
上传一个独立的分支
(比如代码是从工程中直接DOWNLOAD ZIP文件,该文件与原MASTER分支是独立的)
1、git init
(在本地工程目录下)
2、git add .
3、git commit -m "luyang"
(”luyang“为分支名)
4、git branch luyang
(创建分支)
5、git checkout luyang
(切换分支)
6、git remote add origin http://192.168.36.10:10080/quantum_rng_testing/nist
(”quantum_rng_testing/nist“ 为工程的目录,这次不要后面的.git后缀)
7、git push origin luyang
(将分支上传)
注意:如果提示 "please tell me who you are“
在.git 目录下的config文件,在最后添加
[user]
name = xxxx
email = aaa@qq.com
这就创建了一个分支并上传了
合并
git merge luyang
会这样:
然后去码云看看合并成功没,如果没,则进行这个指令
git push --force origin master
会出现:
然后再去码云看看合并成功没
删除分支
合并过后分支就可以删除了,可以在码云的分支管理里删除;
或者git branch -d 分支名称