Git基本使用
目录
安装
- windows下载64为setup版(这里是2.45.0版本)
- 更改路径
- 使用Vim语法 剩下的一路Next
- 安装完毕后可以鼠标右键看到Git
- 上面的是UI界面,下面的是控制台,一般都用控制台
Git生命周期
常用命令
git config --global user.name 用户名 | 设置用户名 |
---|---|
git config --global user.email 邮箱 | 设置邮箱 |
git init | 初始化本地库 |
git status | 查看当前库状态 |
git add 文件名 | 添加文件到缓存区 |
git commit -m “日志信息” | 添加文件到本地库(日志必填) |
git reflog/git log | reflog:查看历史记录(有详情),log:查看历史记录(无详情) |
git reset --hard 版本号 | 穿梭到指定版本 |
撤销命令
git checkout --文件名 | 从工作区还原到原文件 |
---|---|
git reset HEAD 文件名 | 从暂存区还原到工作区 |
git reset --soft 版本号 | 从版本库还原到暂存区 |
git reset --mix版本号 | 从版本库还原到工作区 |
分支命令
git branch 分支名 | 创建分支 |
---|---|
git branch -v | 查看分支 |
git branch -d | 删除分支 |
git branch -a | 查看远程分支,列出所有分支、包含远程 |
git checkout 分支名 | 切换到目标分支 |
git checkout -b 分支名 | 创建并切换到目标分支 |
git merge 要合并的分支名 | 将指定的分支合并到当前分支 |
远程指令
git remote remove origin | 删除指定远程库,origin为库名 |
---|---|
git push origin master | 推送到远程库,origin为库名,master为你选择的分支 |
git pull origin master | 从远程库中更新代码到你本地 |
忽略文件
Pycharm中创建Django会自带.gitignore
文件,如果没有则新建,该文件存放文件不会被Git传入暂存区,因此可以将不想上传的文件丢进忽略文件中,格式如下
.idea # 忽略名为.idea的文件
*.log # 忽略名为.log的文件
*.pyc # 忽略所有后缀为pyc的文件
**/migrations/*.py # 忽略所有在migrations目录下的py文件
!**/migrations/__init__.py # 忽略所有在migrations目录下的__init__.py文件
scripts # 忽略scripts文件夹
.venv # 忽略名为.venv的文件
Git远程仓库
Git,Gitee,Gitlab
- Git:是一种版本控制软件,是一个命令,是一种工具
- GitHub:是一个基于Git实现的在线代码托管仓库,包含一个网站界面,向互联网开放,公有仓库免费,部分私有仓库收费,全球最大的开源代码托管平台,也是Git的远程仓库
- Gitee:(码云) 是 OSCHINA 推出的代码托管平台,支持 Git 和 SVN,提供免费的私有仓库托管,面向互联网开发,分收费和付费,中国最大的开源代码托管平台,可以理解为国产GitHub
- GitLab:是一个基于Git实现的在线代码仓库托管软件,可以通过GitLab自己搭建一个类似于GitHub一样的系统,用在企业内部网络搭建Git私服,用于企业团队内部协作开发
Gitee
【1】创建gitee账号,新建仓库
示例使用SSH操作
【2】创建SSH公钥
添加好公钥后不用输入账号密码就能连接仓库
终端输入命令生成公钥(key
可以随便填,一般都是用户名)
ssh-keygen -t ed25519 -C "Key"
- 然后他就会在你c盘用户目录下生成
.pub
文件,然后再用记事本打开
- 将这个秘钥丢进去
【3】连接仓库
- 打开本地文件并初始化
- 在Git终端输入指令,
git remote add
:新建一个远程库的连接,origin
:为远程库起的名字,可以是任意值
git remote add origin git@gitee.com:azure_tq/text.git
- 上传数据 最终推送到远程库
git add . # 将所有项目提交到暂存库
git commit -m '上传项目' # 上传到版本库
git push origin master # 上传到远程库
【4】克隆项目到本地
- 打开项目-克隆-复制
【5】提交代码
指令版:
git add . # 将所有项目提交到暂存库
git commit -m '上传项目' # 上传到版本库
git push origin master # 上传到远程库
Pycharm版:
- HTTPS和SSH都可以,复制指令
- 打开远程管理(需要init初始化Git)
- 这时候会出来三个操作按钮,从左到右依次是
- 更新项目(等于:
git pull origin master
) - 上传至暂存区(等于:
git add .
) - 推送给远程库(等于:
git push origin master
)
- 更新项目(等于:
Gitlab
除了获取秘钥的位置不同其他都一样
合并冲突
合并冲突指的是两个分支修改了同一处代码时,如果1分支已经和主分支合并,那么2分支在尝试与主分支合并时就会报错
- 创建两个分支
- demo2和demo3中都打印这句话,并且上传、推送
- 回到主分支master开始合并
- 报错示例,冲突的地方会被Git标记出来(因为隔了一天忘记自己示例写哪了于是重新创了一个。。)