版本控制器: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 checkout .
-- 撤销所有暂存区的提交
>: git checkout 文件名
-- 撤销某一文件的暂存区提交
"""
工作区内容提交到暂存区
"""
>: git add .
-- 添加项目中所有文件
>: git add 文件名
-- 添加指定文件
"""
撤销暂存区提交:add的逆运算
"""
>: git reset HEAD .
-- 撤销所有暂存区的提交
>: git reset 文件名
-- 撤销某一文件的暂存区提交
"""
提交暂存区内容到版本库
撤销版本库提交: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
svn
一个服务端对应多个客户端,代码全部上传到服务端,协同开发,不好的是如果服务端挂了,那就挂了。重启可恢复。
git 不同,git可以将每一个客户端做为服务器。
Git 工作流程
使用
图形化界面:
鼠标点的方式操作
有很多不需要上传的文件,可右键删除并添加到忽略列表(递归忽略文件或目录/放在文件夹所在的目录)
忽略文件:本质就是创建一个 .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 <分支名>
-先再setting---git上配置git按装的路径
-从远程拉代码vcs-checkoutform..--git 输入远程的地址---点确定
-再提交代码之前,先要拉代码(在公司中要做的),就可以能有冲突
-解决冲突
-push上去就可以了
-创建分支,切换分支,右下角
-查看操作日志
-跟历史版本比较
-revert 恢复到远程的代码