个人学习笔记记录有限,若完整学习,请移步码云官方Git大全!
码云Git大全
Git
SVN
CVS
VSS
TFS
1.本地版本控制
2.集中式版本控制 SVN
所有的版本数据都在服务器上 ,必须联网
3.分布式版本控制系统 Git
每个人都拥有全部的代码,在本地就能看到版本数据
不会因为服务器损坏,造成不能工作的情况
SVN集中版本控制系统
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都是自己的电脑,所以首先要从中央服务器得到最新的版本,然后工作,完成工作后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,对网络带宽要求较高。
Git分布式版本控制系统
Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上。协同的方法是这样的∶比如说自己在电脑上改了文件A,樊他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。Git可以直接看到更新了哪些代码和文件!
Git是目前世界上最先进的分布式版本控制系统。
官网下载慢,采用镜像下载
https://npm.taobao.org/mirrors/git-for-windows/
mkdir 创建目录/文件夹
rm -r 删除文件夹
touch 创建文件
rm 删除文件
pwd 显示当前所在目录路径
history 查看历史命令
help 查看帮助
exit 退出
‘’#’’ 注释
所有的配置文件其实都保存在本地
[1] Git\etc\gitconfig Git安装目录下的gitconfig --system系统级
[2] C:\Users\Administrator.gitconfig 只适用于当前登录的用户配置 --globle 全局
git config -l #查看配置列表
git config --system --list #查看系统配置列表
git config --global --list #查看全局配置!必须配置
git config --global user.name "southerose" #全局配置用户名
git config --global user.email "[email protected]" #全局配置邮箱
git config --global user.name "southerose" #全局配置用户名
git config --global user.email "[email protected]" #全局配置邮箱
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9DweaBWl-1618139000842)(C:\Users\Polaris\AppData\Roaming\Typora\typora-user-images\image-20201020211550366.png)]
Workspace:工作区,平时存放代码的地方。
Index/Stage:暂存区,用于临时存放你的改动,事实上他只是一个文件,保存即将提交到文件列表的信息。
Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据,其中HEAD指向最新放入仓库的版本。
Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J1WTWjDD-1618139000845)(C:\Users\Polaris\AppData\Roaming\Typora\typora-user-images\image-20201020213452490.png)]
本地仓库搭建
方式:1.创建全新的仓库
2.克隆远程仓库
[1] 创建全新的仓库,需要用到GIT管理的项目的根目录执行:
# 在当前目录创建一个Git代码库
$ git init
# 从远程克隆到本地仓库
$ git clone [url]
# 添加所有文件到暂存区stages
$ git add .
# 提交暂存区的内容到本地仓库repository -m提交信息
$git commit -m "content"//m:message
# 推动到remote
$git push
#查看制定文件状态
$ git status [filename]
# 查看所有文件状态
$ git status
[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
# 注释
*.txt 忽略所有以.txt结尾的文件
!lib.txt #lib.txt除外
/temp #仅忽略项目根目录下的TODO目录,不包括其他目录temp
build/ #忽略build/目录下的所有文件
doc/*.txt #忽略doc/notes.txt 但不包括 doc/server/arch.txt
1.注册账号,并且完善个人信息(不能乱填)
2.设置本机ssh公钥,实现免密码登陆
# 进入 c:\Users\Administrator\.ssh
# 生成公钥
$ ssh-keygen
# 生成公钥并且使用rsa加密
$ ssh-keygen -t rsa
3.将公钥信息public key 添加到码云账户即可
4.使用码云创建一个自己的仓库
1.创建一个远程仓库
2.创建一个项目
3.将远程仓库clone到本地
4.将远程仓库的文件内容复制到本地项目文件里面
5.在项目里面依次
git add .
git commit -m “demo”
git push
# 查看本地分支
$ git branch
# 查看远程分支
$ git branch -r
# 创建一个新分支
$ git branch [branch-name]
# 创建一个分支,并切换该分支
$ git checkout -b [branch]
# 切换到指定分支
$ git checkout [branch]
# 合并指定分支到当前分支
$ git merge [branch]
# 删除分支
$ git branch -d [branch-name]
# 删除远程分支
$ git push origin [branch-name]
$ git branch -dr [remote/branch]