Git 是一个开源的分布式版本控制系统。
一、Git配置命令
注意:git命令之间必须有空格;
--是中横线,不是下划线;
使用了 --global 选项,那么该命令只需要运行一次,即可永久生效;
1. 获取git的版本号
git --version
2. 配置git的用户名(自定义)和邮箱地址(最好和码云邮箱信息统一)
被写入到 C:/Users/用户名文件夹/.gitconfig (Git全局配置文件)文件中
git config --global use.name '用户名'
git config --global user.email '邮箱地址'
3. 查看是否配置成功,如果发现配置有误,可以重新执行git命令重新配置
git config --global --list
4. 将git命令清屏
clear
git输入命令时的快捷方式:
- 快速补充git命令,按tab键;
- 键盘上下方向键可以调出之前输过的所有命令;
- 命令不能直接复制,要点击鼠标右键粘贴;
- 修改复制过来的命令,通过键盘的左右方向键,调整光标位置进行修改;
二、git项目管理
1、三个区域
只要使用git管理,就会出现3个区域:
- 工作区:正在进行的代码所在的区域;
- 暂存区:将代码进行临时保存;
- 仓库区:代码完成后,要进行上线运行,将程序保存到仓库区;
2、本地操作—Git管理项目步骤(重点)
a)准备一个项目空文件夹(这个文件夹的所有文件都会被Git管理)
b)进入项目文件夹内部,右击打开git命令窗口,输入命令 git init (初始化本地仓库,一个项目文件夹的本地仓库只初始化一次即可)
c)初始化成功,文件夹中就会出现了一个隐藏git文件(文件夹中查看->隐藏的项目 即可查看到)(如果其中有文件不想被Git管理,就删除隐藏git文件,重新再来一次)
d)正常创建项目文件(html/css/js)
e)将工作区中的文件添加到暂停区(工作区增删改查后,需再次添加到暂停区)
1. 将工作区中 指定的文件 添加到暂停区
git add 文件名1 文件名2 文件名3
2. 将工作区中 所有的文件 添加到暂停区
git add .
3. * 10:20分
注意:git命令必须在对应的项目文件夹中执行
f)将暂存区文件提交到仓库区
1. 将 暂存区中制定的文件 提交到仓库区
git commit 文件名1 文件名2 -m '提交日志信息(备注信息)'
2. 将 暂存区中所有的文件 提交到仓库区
git commit -m '提交日志信息(备注信息)'
注意:
1. 每次提交都会有唯一的编号,即版本号
2. 若2次提交的文件一样(无改动),不会产生新的版本号(记录)
其它命令:
a)查看日志
git log 以复杂形式显示日志信息
git log --oneline 日志信息在一行中显示出来(简单方式)
git log -数字 查看最近几次的日志信息
git log -数字 --oneline 以简单的方式查看最近几次的提交的日志信息
git log --reflog 查看所有记录(版本),不管在哪个版本都能查到所有的版本
注意:
- 如果提交次数很多,查看日志时默认窗口显示不完整,按向下的方向键查看即可;
- 跳出日志信息:输入q
b)查看文件的状态
命令:git status
查看状态显示... | 含义 |
---|---|
Untracked files | 文件是新增的,还没有被git管理到 |
Changes to be committed | 文件已经被提交到暂存区 |
nothing to commit | 没有文件可以提交了(文件全部被提交到仓库) |
modified(红色) | 当前文件被修改,但没有被提交 |
modified(绿色) | 文件修改后,已经被提交到暂存区 |
c)切换版本
git reset --hard 版本号(commit) // commit在查看日志后会出现
注意:
1. 提交到仓库区一次,就会产生一个版本
2. 文件会随版本的变化而变化
3、VScode操作git项目管理
a)准备一个项目空文件夹,并用VScode打开
b)
c)
4、git项目管理中的分支(重点) 11:13
在Git面板的路径上或VScode的左下角 可以看出目前是在哪一分支上。
(1)主分支
- 当前初始化本地仓库后,git中默认提供了一个主分支 master;
- 主分支保存了仓库区中的文件(即工作区、暂存区中的文件不再主分支上);
(2)自定义的功能分支
作用:为了规避自己的程序代码对主分支上的代码的影响;
分支命令
1. 查看当前git项目中有哪些分支
git branch
git branch -a 查看所有分支,可以查看到拉取的远程分支
2. 创建自己的功能分支
git branch 自定义分支名 如:git branch login 创建一个名为login的功能分支
3. 切换到其它分支上
git checkout 分支名
4. 将功能分支合并到主分支上(因为主分支上才是要上线的功能;合并后删除功能分支也不影响主分支)
git merge 分支名
问题1:如果主分支和功能分支合并的时候,修改了同一个文件
解决:先沟通保留哪个功能里的代码,再重新添加到暂存区、仓库区。
问题2:主分支和功能分支修改了两个不同的文件,合并时出现疑似报错(不是真的报错,这时已经合并成功了)要怎么跳出 12:06
解决:输入 :q
注意:在合并分支时,一定要切换到主分支上
5. 新建并切换
git checkout -b 分支名 branch
6. 删除分支 (在主分支上进行)
git branch -d 分支名 delete
git branch -D 分支名 强制删除分支(使用情况:一个分支修改了内容,但是还没有合并,就需要强制删除)
三、远程推送—码云(Gitee) 3:00 4.17忽略文件
码云是第三方代码托管平台(将本地项目代码拷贝到平台上);
github也是代码托管平台(国外);
推送的是本地仓库(仓库区)的所有版本
1、将本地项目推送到码云上
(1)通过https方式推送
a)在码云中新建一个远程仓库(一个项目对应一个仓库)
b)填写新建仓库信息
c)先点击https按钮,获取对应的git命令,并在git窗口中执行这两条命令;
如果之前向远程仓库推送过一次,下次推送直接执行命令 get push 即可;
origin是后面url地址的别名,可以换成别的;
d)第一次推送的时候,需要输入码云的账号(邮箱地址)和密码,下次推送不需要用户名和密码
(2)通过ssh方式推送
前2步和https推送相同
c)生成公钥(打开下面链接,依次执行两条命令)
密钥是针对电脑的,只要不重装系统,配置一次即可
1. 生成密钥(要按四次回车)
ssh-keygen -t ed25519 -C "邮箱或手机号"
2. 查看密钥
cat ~/.ssh/id_ed25519.pub
d)头像下的‘设置’ → SSH公钥 → 设置标题并粘贴公钥 → 确定
e)查看秘钥是否配置成功
ssh -T git@gitee.com
f)回到码云中,点击“SSH”按钮,执行以下两行代码
如果输入第二条命令(首次推送) git push -u origin "master" (origin是推送地址的别名,可更改)
有报错,就输入命令 git remote remove 地址别名
即可再次推送(不是首次推送) git push
2、 删除数据库
我的 → 仓库 → 管理 → 删除仓库
3、将远程仓库中的项目下载到本地
(1)如果本地没有远程仓库中的项目,执行:
git clone 仓库地址
(2)如果本地有远程仓库中的项目,但本地项目不是最新的,执行:
git pull 仓库地址