git官网地址:https://git-scm.com/download/win/
选择所需要的版本,进行下载。
打开控制面板(win+R 输入cmd),查看Git版本信息
# git -v
# git -软件,做版本管理的,分不同平台(win,mac) # github -网站,git远程代码仓库,全球最大的开源代码托管平台,全球最大的开源代码仓库 # gitee(小公司,私有仓库) -国内最大的开源代码托管平台 # gitlab(公司内部这个多) -公司内部的远程仓库 # bitbucket 给公司做代码托管的,没有开源
# git 有三个区 工作区:某个文件夹,在文件夹 新增,修改,删除,更新 文件--》用户操作的位置 暂存区:工作区的变更---》提交到暂存区 版本库:把暂存区内容---》提交到版本库---》文件就被版本管理了--》回退到某个版本 远程仓库:第三方:github,gitee,gitlab # 工作流程:三个区的来回操作 # 常用命令 1 初始化仓库:git init # 创建出一个 .git 文件夹--》不要删,删除仓库记录都没了 新建文件夹:lqz ---》git bash here---》打开termial--》输入linux命令 ls mkdir 2 查看仓库状态 git status 3 在工作区,新建 s1.py,加入一行代码 4 把变更提交到暂存区 git add 文件名 # 提交当前文件的变更 git add . # 所有变更都提交 5 把暂存区提交到版本库 git commit -m '注释,必须加' 6 查看版本记录 git log git reflog -----了解---------- 6 git checkout . # 把工作区变更回退(还没放到暂存区) 7 git reset --soft 版本号 # 唯一表示,可以不写全,短一些 git reset --soft 05125c7 # 上一个版本号 8 git reset --mix 2b8766f767 # 把版本库拉回到工作区
# 1 初始化仓库 ---仓库目录下会出现 .git 文件夹--》文件夹千万不要删除 git init # 初始化当前文件夹 git init 文件夹 # 在当前文件夹下创建文件夹,并把新创建的文件夹作为仓库 # 2 查看仓库状态 git status git status -s #查看仓库状态的简约显示 # 红色:工作区有变更,但是没有提交到暂存区 # 绿色:工作区变更提交到暂存区,但是没有提交到版本库---》还没有被版本管理起来 # 白色:所有变更都被版本管理了 # 3 把工作区变更提交到暂存区 git add 文件名 文件夹 git add . # 所有变更 # 4 把暂存区提交到版本库 git commit -m '注释' # 只要提交一次,就会有个版本号,以后根据版本号我们可以回退到任意版本 # 5 设置用户名和邮箱--》一般写在git init之后,只设置一次 # 全局设置 git config --global user.name '用户名' git config --global user.email '用户邮箱' # 局部设置: git config user.name 'xxx' git config user.email '4@qq.com' # 6 查看版本日志 git log # 能看到用户:lqz <3306@qq.com> git reflog ----------了解------------- # 7 撤销工作区变更 git checkout . -- 撤销所有暂存区的提交 git checkout 文件名 -- 撤销某一文件的暂存区提交 # 8 撤销暂存区提交:add的逆运算 >: git reset HEAD . -- 撤销所有暂存区的提交 >: git reset 文件名 -- 撤销某一文件的暂存区提交 # 9 git log 更多 查看时间点之前|之后的日志: >: 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 # 10 回滚到指定版本: 回滚到上一个版本: >: git reset --hard HEAD^ >: git reset --hard HEAD~ 回滚到上三个版本: >: git reset --hard HEAD^^^ >: git reset --hard HEAD~3 回滚到指定版本号的版本: >: git reset --hard 版本号 (重点) >: eg: git reset --hard 35cb292
# git log commit 7884b345a03ec8a1dfae5976d3e1c4ec55a2f785 (HEAD -> master) # 版本号 Author: xxx <4@qq.com> # 作者 Date: Mon Jan 22 12:29:13 2024 +0800 # 日期 xxx # 注释 # 如果做了代码回撤---》这里的日志看不到,就通过git reflog来查看
回滚到上一个版本: >: git reset --hard HEAD^ >: git reset --hard HEAD~ 回滚到上三个版本: >: git reset --hard HEAD^^^ >: git reset --hard HEAD~3 回滚到指定版本号的版本: >: git reset --hard 版本号 (重点) >: eg: git reset --hard 35cb292 # 只要是被版本管理了,后期我们可以回退到任意版本
使用
''' 初始化 git init 查看文件信息 git status 提交文件到缓存区 git add . 文件到缓存区 git commit -m "注释" 全局配置 git config --global user.name '白植涛' git config --global user.email '11385924+bai-zhitao@user.noreply.gitee.com' 提交仓库信息 git remote add origin https://gitee.com/bai-zhitao/lufy.git git push -u origin "master" 不行就这个 git push origin master '''
# .gitignore文件 .venv *.log *.pyc __pycache__ **/migrations/*.py !**/migrations/__init__.py scripts luffy.log
.gitignore
文件必须要是这个名字# 在仓库中,某些文件或文件夹,不期望被git管理,不被版本管理 -node_models -.idea -.vscode -__pycache__ :为了加快执行效率---》解释器会把py文件,只要执行过,就编译成views.cpython-38.pyc---》以后再运行,直接运行这个文件,速度快 -项目的日志文件 # 在仓库目录下新建一个文件:.gitignore 标明哪些不被git管理,标明语法如下: -如果是文件,直接写文件名 -如果是文件夹,直接写文件夹名 # 具体如下 """ 过滤文件内容 文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤 /文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤 例如: a.txt:项目中所有a.txt文件和文件夹都会被过滤 /a.txt:项目中只有根目录下a.txt文件和文件夹会被过滤 /b/a.txt:项目中只有根目录下的b文件夹下的a.txt文件和文件夹会被过滤 *x*:名字中有一个x的都会被过滤(*代表0~n个任意字符) 空文件夹不会被提交,空包会被提交,包可以被提交(包中有一个init空文件) 注意: # 以'#'开始的行,被视为注释. # 忽略掉所有文件名是 lqz.txt的文件. lqz.txt # 忽略所有生成的 html文件, *.html # lqz.html是例外,不在忽略范围内 !lqz.html # 忽略所有.o和 .a文件. *.[oa] """ ## 后端项目的忽略文件 luffy.log __pycache__ *.pyc .idea scripts .vscode **/migrations/*.py !**/migrations/__init__.py #### 空文件夹不被git管理 log __init__.py luffy.log *.log
# 1 为什么要有多分支 -可以方便我们协同开发 -一般公司都会有master主分支,dev开发分支,bug修复分支 # 2 分支的操作 1.创建分支 git branch 分支名 2.查看分支 git branch 3.切换分支 git checkout 分支名 4.创建并切换到分支 git checkout -b 分支名 5.删除分支 git branch -d 分支名 git branch -D 分支名 6.查看远程分支(列出所有分支,包含远程) git branch -a 7.合并分支 git merge 分支名 把dev分支合并到master分支:切换到master分支,执行合并dev分支的命令
# 远端的一个服务器 -github -gitee:讲课---》 -gitlab # 注册gitee账号 # 新建仓库 # 在本地执行 git config --global user.name "liuqingzheng" git config --global user.email "306334678@qq.com" # 已有仓库 cd lqz git remote add origin https://gitee.com/liuqingzheng/lqz2.git # 添加远程仓库地址 git pull origin master git push origin master