git是一个免费的,开源的版本控制软件。
版本控制:一种记录一个或者若干文件状态,内容变化,以便将来查询特定版本修订情况的系统。
? 集中式是版本库在中央服务器上,工作时,用的都是自己的电脑,将代码提交到中央服务器,从中央服务器获取新的别人提交的代码。集中式必须联网才能工作,服务器如果挂掉,整个版本控制软件都不可用。
? 分布式是每台电脑都是中央服务器。工作时,不需要联网,只把修改的内容推送给别人。
缺点:比较消耗资源,代码不安全。
? git 官网 https://git-scm.com/download/win
? 镜像地址 :https://npm.taobao.org/mirrors/git-for-windows/
? 下一步下一步
查看git的全局配置
git config --list
执行效果如下
其中红色部分是你的用户名和邮箱,第一次安装时是没有的, 最好设置为自己的用户名和邮箱。用户名和邮箱是将来代码提交到远程服务器上时你的签名。
git config --global user.email "你的邮箱"
git config --global user.name "你的用户名"
如果想要一个文件夹被git管理,就需要将其初始化为git仓库。
git status
git add 文件名
git add 文件夹名
git add . 把所有的文件都提交
git reset HEAD 文件名
git reset HEAD 文件夹名
git reset HEAD . 把所有暂存区的文件都回退
//HEAD表示从当前版本中回退
如果没有提交过,回退时
git reset 文件名
git reset 文件夹名
git reset . 把所有暂存区的文件都回退
git commit -m "提交说明"
git log
效果如下:
// commit 版本ID 当前版本 master分支
commit 5149d1acac5f9024c45fbeeaf0df8f215584daa4 (HEAD -> master)
// 谁提交的
Author: zhangguihao <244389185@qq.com>
//提交的日期
Date: Thu May 27 10:22:53 2021 +0800
第二次提交,提交了一个c文件
commit 05495cd28296e9d404524cab01f3f3b7504f617a
Author: zhangguihao <244389185@qq.com>
Date: Thu May 27 10:16:01 2021 +0800
git reset --hard 版本ID
【注意】如果回到之前的版本,做了修改,再提交就相当于开辟了一个新的事件线,git log时就看不到之前的版本了。
git rebase -i 版本ID
【注意】这个版本ID不能添加你要删除的版本,要填写它上一个版本的ID。
执行会弹出一个窗口(前提是:安装时,选择了vscode)
如果没有选择vscode
github是全球最大的社交编程网站。
github可以托管各种git仓库,并提供了可操作的web页面。
因为国内有时候打不开github,所以我们用gitee(码云)
git本地仓库可以上传到远程仓库中,远程仓库可以是github或者gitee。
在任意位置下新建一个和仓库名同名的文件夹,最好父级目录不要有中文。
随意创建一个文件。
将新建文件提交成版本。
git remote add origin 你的仓库地址
remote 远程
origin 变量名,表示你的仓库地址。以后我们需要用到仓库地址的时候,就可以直接用origin
不需要再写很长的地址了。
这是将本地仓库与远程仓库进行关联
git push -u origin master
push:推送
-u:记录下你本次推送的地址,哪一个分支,下次提交时,只需要写git push即可。
-u origin master:相当于记住用户名,密码。
git remote rm origin
以上代码是将git配置项中远程仓库地址删除
在随意位置,打开命令行
输入以下命令
ssh-keygen -t rsa -C "git配置的邮箱"
按下三个回车,在你的C:\Users\Administrator.ssh目录下会生成两个文件。
打开id_rsa.pub文件,将内容复制
打开gitee 设置--安全设置--ssh公钥 将复制的内容粘贴
来到仓库,点开克隆,选择ssh,复制路径
执行
git remote add origin git@gitee.com:你的地址
7.git push -u origin master
在需要拉取到位置,打开git bash
输入 git clone ssh的地址 回车即可。
远程仓库中关于该项目的说明。
git提交的忽略文件,如果有需要忽略的文件,可以把文件名写在里面。
每个仓库都有一个默认分支 master 第一次都会推送到master分支上。
git brance 分支名
git brance -a
git checkout 分支名
git branch -d 分支名
【注意】删除时,必须切换到别的分支上,才可以删除要删除的分支。
当前分支的工作开发完成后,需要将当前分支的代码合并到master上。
当我们在本地创建分支后,默认是不会上传到远程仓库的,git默认的上传分支是master分支。
git push origin 分支名
git checkout -b dev(本地分支名称) origin/dev(远程分支名称)
git push origin --delete 分支名
2.主开发分支 dev
? 初始化项目之后,会从master分支上开辟。一般也不再dev上写代码。
3.功能分支 feature-xxx
? 从dev上开启的分支。比如开发购物车模块,我们可以起名 feature-shopCar 开发完成后,合并到dev上。
4.bug修复 feature-xxx-fix-xxx
? 第一个xxx是模块名,第二个xxx是bug的编号。
5.紧急修复bug hot-fix-xxx
? 从master直接开辟,用于紧急情况下的bug修复。XXX可以是bug编号,或者日期等等。
?
原文:https://www.cnblogs.com/YSV5521/p/14824222.html