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 2212:29:132024+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
提示:请勿发布广告垃圾评论,否则封号处理!!