GIT的使用
2022-09-16 16:01:21 11 举报
AI智能生成
GIT和GITHUB的使用
作者其他创作
大纲/内容
git提交本地仓库
git init 初始化仓库
git init 初始化仓库
cd ~ 进入根目录
cat .gitconfig 查看用户名和密码
vim .gitconfig 删除/修改用户名和密码
:wq 保存退出命令行
:!q 强制退出命令行
git config --global user.email 设置邮箱
git config --global user.name 设置用户名
git status 查看状态
git add . 将工作区内容提交到暂存区
git rm --cached 文件名`从暂存区删除,恢复到工作区
git commit -m 'feat:本次添加说明'
git reflog 查看提交所有版本,回退版本前提
git log 提交历史记录JK切换滚动条--向上向下
git reset --hard '哈希值' (回退到第几版本)
Linux命令
mkdir 创建文件夹
touch 创建文件
`rm -rf 文件或文件夹名` 删除指定的文件或文件夹
ls -a 查看当前目录内的文件列表,包含隐藏文件
cd 路径 进入指定的目录
vim 文件名 修改文件/如果没有该文件则是新建文件
git log 查看提交历史记录
git log --pretty=oneline 每条记录只显示一行
git log --oneline 更简约格式
git reset --hard 哈希值 前进后退版本
git reset --hard HEAD^ 后退版本 一个^代表后退一步
git reset --hard HEAD~n 后退版本 n代表后退几步
(rm -rf 删除文件后恢复文件:git reset --hard 哈希值)
git diff 文件名 工作区文件与暂存区文件进行对比
`git diff 要对比的本地仓库里文件的哈希值 文件名` 工作区文件与本地仓库文件进行对比
单个文件不想提交至暂存区使用:
touch .gitignore
vim .gitignore
输入要跳过的文件名
配置CZ步骤
1.全局安装`Commitizen`
cnpm install -g commitizen
.安装并配置 `cz-customizable` 插件
cnpm i cz-customizable --save-dev
配置`package.json `
"config": {
"commitizen": {
"path": "node_modules/cz-customizable"
}
}
"commitizen": {
"path": "node_modules/cz-customizable"
}
}
项目根目录下创建 `.cz-config.js` 自定义提示文件
module.exports = {
// 可选类型
types: [
{ value: 'feat', name: 'feat: 新功能' },
{ value: 'fix', name: 'fix: 修复' },
{ value: 'docs', name: 'docs: 文档变更' },
{ value: 'style', name: 'style: 代码格式(不影响代码运行的变动)' },
{ value: 'refactor',name: 'refactor: 重构(既不是增加feature,也不是修复bug)'},
{ value: 'perf', name: 'perf: 性能优化' },
{ value: 'test', name: 'test: 增加测试' },
{ value: 'chore', name: 'chore: 构建过程或辅助工具的变动' },
{ value: 'revert', name: 'revert: 回退' },
{ value: 'build', name: 'build: 打包' }
],
// 消息步骤
messages: {
type: '请选择提交类型:',
customScope: '请输入修改范围(可选):',
subject: '请简要描述提交(必填):',
body: '请输入详细描述(可选):',
footer: '请输入要关闭的issue(可选):',
confirmCommit: '确认使用以上信息提交?(y/n/e/h)'
},
// 跳过问题
skipQuestions: ['body', 'footer'],
// subject文字长度默认是72
subjectLimit: 72
}
// 可选类型
types: [
{ value: 'feat', name: 'feat: 新功能' },
{ value: 'fix', name: 'fix: 修复' },
{ value: 'docs', name: 'docs: 文档变更' },
{ value: 'style', name: 'style: 代码格式(不影响代码运行的变动)' },
{ value: 'refactor',name: 'refactor: 重构(既不是增加feature,也不是修复bug)'},
{ value: 'perf', name: 'perf: 性能优化' },
{ value: 'test', name: 'test: 增加测试' },
{ value: 'chore', name: 'chore: 构建过程或辅助工具的变动' },
{ value: 'revert', name: 'revert: 回退' },
{ value: 'build', name: 'build: 打包' }
],
// 消息步骤
messages: {
type: '请选择提交类型:',
customScope: '请输入修改范围(可选):',
subject: '请简要描述提交(必填):',
body: '请输入详细描述(可选):',
footer: '请输入要关闭的issue(可选):',
confirmCommit: '确认使用以上信息提交?(y/n/e/h)'
},
// 跳过问题
skipQuestions: ['body', 'footer'],
// subject文字长度默认是72
subjectLimit: 72
}
新建一个.gitignore文件,配置要跳过的文件(node_modules),保存退出
(若在命令框中操作,使用touch .gitignore新建文件,vim .gitignore配置要跳过的文件)
(若在命令框中操作,使用touch .gitignore新建文件,vim .gitignore配置要跳过的文件)
git add .
git cz选择
本地代码推送到远程仓库
使用https连接远程仓库
git add . 上传至暂存区
git commit -m '描述信息' 上传至本地仓库
git status 查看状态
进入github个人中心点击settings
点击右侧的 Developer settings
点击 Personal access tokens(个人访问令牌)
点击 Generate new token 创建一个新的令牌
设置 token 信息
得到生成的令牌
查看是否已有连接仓库 git remote -v (没有显示就是没有连接仓库,有提示代表已连接仓库)
若已有仓库可删除已连接仓库 git remote remove origin(仓库名)
复制远程仓库HTTPS地址
git remote add origin https://令牌号@github.com/MrsLvShu/testdemo.git
git remote -v 查看是否已建立连接
git push origin master 将本地代码上传至远程仓库
使用SSH连接远程仓库
git add . 上传至暂存区
git commit -m '描述信息' 上传至本地仓库
git status 查看状态
cd ~ 进入根目录
ls -a 查看是否存在.ssh文件,若存在,先删除rm -rf
ssh-keygen -t rsa -C “邮箱” 创建SSH密钥
cat .ssh/id_rsa.pub 查看SSH公钥
复制SSH公钥
进入github个人中心点击settings
点击右侧的 SSH and GPG keys
点击 New SSH Key 创建SSH密钥(将复制密钥粘贴)
SSH密钥配置过,后期无需再配置
查看是否已有连接仓库 git remote -v (没有显示就是没有连接仓库,有提示代表已连接仓库)
若已有仓库可删除已连接仓库 git remote remove origin(仓库名)
复制远程仓库SSH地址
git remote add origin git@github.com:myztj/text.git
git remote -v 查看是否已建立连接
git push origin master 将本地代码上传至远程仓库
将远程仓库的代码克隆本地
git clone 地址名
将远程仓库最新的代码拉到本地
前提是已经clone 代码 ,无需再次使用clone,
git pull origin master
git pull origin master
另外一种将本地代码推送到远程仓库的方式
新建仓库
直接clone 仓库地址
直接clone 仓库地址
git add .
git commit -m '描述信息'
git push origin master
Git分支操作
查看分支
git branch -v
创建分支
git branch 分支名
创建分支并切换
git checkout -b 分支名
切换分支
git checkout 分支名
合并分支
git merge 分支名
b合并到a分支上:
git checkout a 先切换至a分支
git merge b 将B分支合并到a分支上
删除分支
git branch -d 分支名
多人协同开发冲突问题
原因:
当多个人同一分支上, 操作了同一文件或者同一行代码,这个时候就会发生冲突
当多个人在不同分支上, 操作了同一文件或者同一行代码,这个时候就会发生冲突
解决:
手动解决, 删除特殊的符合以及冲突的代码
然后在重新提交就ok了
然后在重新提交就ok了
0 条评论
下一页