版本控制器:Git
版本控制器:Git
# 达到多人协同开发的目的
安装
""" 1.下载对应版本:https://git-scm.com/download 2.安装git:在选取安装路径的下一步选取 Use a TrueType font in all console windows 选项 -- 安装成功后桌面右键可以看到git菜单 """
工作流程图
搭建本地git仓库
将已有的文件夹作为git仓库
""" >: cd 目标文件夹内部 >: git init """
在指定目录下创建git仓库
""" >: cd 目标目录 >: git init 仓库名 """
配置操作git的用户信息
当前仓库:局部
""" >: git config user.name '用户名' -- 用户名 >: git config user.email '用户邮箱' -- 用户邮箱 注:在当前仓库下的config新建用户信息,只能在当前仓库下使用 """
所有仓库:全局
""" >: git config --global user.name '用户名' >: git config --global user.email '用户邮箱' 注:在全局文件 C:\Users\用户文件夹\.gitconfig新建用户信息,在所有仓库下都可以使用 """
常用指令
查看仓库状态
""" # 当仓库中有文件增加、删除、修改,都可以在仓库状态中查看 >: git status -- 查看仓库状态 >: git status -s -- 查看仓库状态的简约显示 """
工作区操作
# 通过任何方式完成的文件删与改
# 空文件夹不会被git记录
撤销工作区操作:改、删
""" >: git checkout . -- 撤销所有暂存区的提交 >: git checkout 文件名 -- 撤销某一文件的暂存区提交 """
工作区内容提交到暂存区
""" >: git add . -- 添加项目中所有文件 >: git add 文件名 -- 添加指定文件 """
撤销暂存区提交:add的逆运算
""" >: git reset HEAD . -- 撤销所有暂存区的提交 >: git reset 文件名 -- 撤销某一文件的暂存区提交 """
提交暂存区内容到版本库
# git commit -m "版本描述信息"
撤销版本库提交:commit的逆运算
""" 回滚暂存区已经提交到版本库的操作: 查看历史版本: >: git log >: git reflog 查看时间点之前|之后的日志: >: git log --after 2018-6-1 >: git log --before 2018-6-1 >: git reflog --after 2018-6-1 >: git reflog --before 2018-6-1 查看指定开发者日志 >: git log --author author_name >: git reflog --author author_name 回滚到指定版本: 回滚到上一个版本: >: git reset --hard HEAD^ >: git reset --hard HEAD~1 回滚到上三个版本: >: git reset --hard HEAD^^^ >: git reset --hard HEAD~3 回滚到指定版本号的版本: >: git reset --hard 版本号 >: eg: git reset --hard 35cb292 """
过滤文件
# .gitignore 文件 # 1)在仓库根目录下创建该文件 # 2)文件与文件夹均可以被过滤 # 3)文件过滤语法 """ 过滤文件内容 文件或文件夹名:代表所有目录下的文件或文件夹都被过滤 /文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤 目录/文件或文件夹名:代表特定目录下的文件或文件夹被过滤 """
git vs svn
# 1、git是分布式的,每一个客户端均可以作为服务器为其他客户端提供代码
# 2、git有强大的分支管理机制,可以在子分支上开发,将最终的成果同步到主分支即可
----------------------------------------------------------------------------------------------------------------
svn
一个服务端对应多个客户端,代码全部上传到服务端,协同开发,不好的是如果服务端挂了,那就挂了。重启可恢复。
git 不同,git可以将每一个客户端做为服务器。
Git 工作流程
下载:https://git-scm.com/download
1.从远程仓库中克隆(clone)Git资源作为本地仓库
2.从本地仓库中checkout代码到工作区,然后进行代码修改
--如果本地有已经在修改的项目了(同步远程仓库代码):pill(从远程拉到工作区)
3.在提交前先将代码提交add到暂存区
4.提交修改,commit 提交到本地仓库。本地仓库中保存修改的各个历史版本
5.在修改完成之后,需要和团队成员共享代码时,可以将代码push到远程仓库
使用
图形化界面: 鼠标点的方式操作 有很多不需要上传的文件,可右键删除并添加到忽略列表(递归忽略文件或目录/放在文件夹所在的目录) 忽略文件:本质就是创建一个 .gitignore pycharm设置里version Control下的git 将git安装路径下bin里的git.exe 文件放到Path Git executable里 连接远程仓库: GitHub 码云 gitLab(自己搭建) -现在我们已经在本地创建了一个Git仓库,想让其他人协同开发 -首先得有GitHub的账号,然后在GitHub上创建一个仓库 -登录有右上角头像旁边的'+'号,New repository -GitHub有两种同步方式 'https' 和 'ssh' -https基本上不需要配置,但每次提交和下载代码都需要输入用户名和密码 git remote add origi https://github.com/GitHubbiuwy/test.git push到远程仓库:git push origin master -ssh 需要客户端生成一个秘钥对,把公钥放到GitHub的服务器上 在gitbash中生成密匙对:ssh-keygen -t rsa 头像的下拉菜单下的settings里添加公钥 # 可视化的设置里的网络下的SSH客户端改为Git目录下的ssh.exe # 远端下的秘钥选个私钥 创建远程仓库: test.git 仓库地址:git@github.com:GitHubbiuwy/test.git 在git bash下执行:git remote add origi git@github.com:GitHubbiuwy/test.git push到远程仓库:git push origin master 如果出现错误:fatal:remote origin already exists 先执行:git remote origin 再执行上面的命令
如果远程有项目,想克隆下来: gti clone https://github.com/GitHubbiuwy/test.git bash方式流程: git add . # 当前路径提交到暂存区 git commit -m '注释' # 提交到本地仓库,需要注释 git push origin master # 提交到远程仓库 -冲突 -两人改了同一行代码 -出现冲突pull的时候,会保留住你的代码和远程的代码 -解决冲突(和同事商量) -在提交到本地 -分支管理 git branch # 查看本地分支 git branch -r # 查看远程分支 -新建分支 git branch 分支名 -同步到远程 git push origin lqztest -切换到分支 git checkout 分支名 -合并代码 -切换到主分支:git checkout master -git merge 分支名 -删除分支 -删除本地:git branch -d 分支名 -删除远程:git push origin --delete <分支名>
在pycharm中使用git
-先再setting---git上配置git按装的路径 -从远程拉代码vcs-checkoutform..--git 输入远程的地址---点确定 -再提交代码之前,先要拉代码(在公司中要做的),就可以能有冲突 -解决冲突 -push上去就可以了 -创建分支,切换分支,右下角 -查看操作日志 -跟历史版本比较 -revert 恢复到远程的代码
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· “你见过凌晨四点的洛杉矶吗?”--《我们为什么要睡觉》
· 编程神器Trae:当我用上后,才知道自己的创造力被低估了多少
· C# 从零开始使用Layui.Wpf库开发WPF客户端
· C#/.NET/.NET Core技术前沿周刊 | 第 31 期(2025年3.17-3.23)
· 接口重试的7种常用方案!