1.git介绍和安装
# 后端,写了一个接口,完成了一个功能,在公司里,功能完成,要把代码提交到远程仓库 # 公司里协同开发,版本管理需要使用软件:svn,git # 下载:安装在操作系统上 -https://git-scm.com/downloads -一路下一步 -任意位置点右键,如果有两个东西(【git gui here】 【git bash here】),表示安装完成
1.1 pycharm中配置git
# github , gitee开源软件, #下载成zip,使用pycharm打开 # 使用pycharm直接拉下来,打开---》配置pycharm -settings中搜索git,把git安装可执行文件配置好 # 以后下载开源软件:vcs--->get from version contral--->填入路径---》clone下来即可
1.2 svn,git ,github,gitee,gitlab
# svn:版本管理软件,它是集中式的版本管理,必须有个svn的服务端,服务端如果过来,svn就用不了了 # git :版本管理软件,它是一个分布式的版本管理,每个客户端都可以作为服务端,即便服务端挂了,也能进行版本管理(本地管理) # github:全球最大的开源远程git仓库,全球最大的开源仓库,git远程仓库 -如果我要写开源软件,本地装git,把代码提交到github -python监控公司代码有没有被传到github # gitee:中国最大的开源软件仓库 【私有仓库,花钱买空间】 # gitlab:公司内部的远程仓库,运维搭建维护
2.git工作流程
# 工作流程 1 只要被git管理了,只要文件发生变化(新增,删除,修改),使用git就能看到它变成红色了 2 工作区的变更,要提交到暂存区,变绿色了 3 从暂存区提交到版本库,才会被版本管理,一旦被版本管理了,后期可以回退到某个版本 4 可以把版本库的内容,提交到远程仓库,统一管理起来【所有开发者都可以提交】 5 本地可以拉去远程的代码 6 本地可以把本地代码提交到远程 # 注意点: """ 1)有红色信息(工作区有内容),就执行 add 2)全绿信息(内容全部在暂存区),才执行 commit 3)只有被版本库控制的代码,才能被监听,所以可以回滚到任何一个版本 """
3 git常用命令
3.1 初始化仓库
在项目根路径下打开cmd窗口,敲git init 这个文件夹就变成了git仓库
3.2查看状态的命令
在继承开发工具或者右键git bash here中敲git status
3.3 配置用户信息【如果局部没有,使用全局,如果全局也没有,会报错】
局部配置---》只针对于当前仓库--》当前仓库.git文件夹下的config中 git config user.name 'liuqingzheng' git config user.email '[email protected]' 全局配置---》针对于所有仓库---》 C:\Users\用户文件夹\.gitconfig新建用户信息,在所有仓库下都可以使用 git config --global user.name 'lqz' git config --global user.email '[email protected]'
3.4 把工作区内容提交到暂存区
在修改完代码的时候敲git status时,这些文件名会变成红色,此时在敲git add 文件名或者.(代表全部),此时就是代表把已修改的文件从工作区放入了暂存区
3.5 把暂存区提交到版本库--【一定要要加注释,不加提交不了,在公司,注释越详细越好】
把暂存区的内容放到版本库,git commit -m '注释'
3.6 查看版本情况---【本地版本库有哪些版本----》一个版本有个唯一id号】
详细:git log 简约:git reflog
3.7 在工作区修改好之后不想修改这些东西了
git checkout . 返回到修改之前
3.8 把暂存区的内容撤回到工作区
git reset HEAD 从暂存区返回到工作区
3.9 将版本库的内容返回到暂存区
git reset --soft 上一个的版本号
3.10 从版本库拉回到工作区
git reset --版本号 git reset --mix 版本号 就是撤销 git add . 和 git commit -m''的操作
3.11 回退到被版本管理的最后版本
git reset --hard 版本号 直接返回到版本号版本
3.12 上述真正重要的***
git init git status # git status -s 简略显示 git log git reflog git add . git commot -m '' git reset --hard 版本号
4 git 过滤文件
# 以后项目中,有些文件[.pyc],文件夹[node_modules][.idea],不需要被版本管理的,咱们就要忽略它 # 忽略步骤,在仓库中新建 .gitignore [没有任何后缀名],在文件中配置 1)在仓库根目录下创建该文件 2)文件与文件夹均可以被过滤 3)文件过滤语法 """ 过滤文件内容 文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤 /文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤 eg: a.txt:项目中所有a.txt文件和文件夹都会被过滤 /a.txt:项目中只有根目录下a.txt文件和文件夹会被过滤 /b/a.txt:项目中只有根目录下的b文件夹下的a.txt文件和文件夹会被过滤 *x*:名字中有一个x的都会被过滤(*代表0~n个任意字符) 空文件夹不会被提交,空包会被提交,包可以被提交(包中有一个init空文件) """
5 git多分支开发
# 公司里,你们3个人开发了路飞项目,首页功能写完了---》上测试环境,给用户看---》然后继续开发---》开发了一段时间---》正好项目不能运行---》用户想看写到什么程度了 # 分支:通过分支,更方便协同开发,管理版本 # 分支操作 -查看分支: git branch # * 和绿色表示你当前所在的分支,查看本地分支 -创建 -git branch dev -切换分支 - git checkout dev -删除分支 -git branch -d dev # 在其他分支上才能删它 -合并分支:【可能会有冲突】 - 要把dev合并到master上 -回到master上,开始执行代码 git merge dev -查看远程分支:【后面会讲】 git branch -a
6 git远程仓库
# github:很慢 # gitee:国内的,很快,咱们用---》公司里会用(小公司) # gitlab:公司内部,自己搭建---》搭建步骤:https://zhuanlan.zhihu.com/p/413217715 -我给你搭建一个:测试一下 # gitee:中午所有人注册一个gitee账号,登录进去---》把咱们的代码提交到远程仓库 -新建一个远程仓库 -只要写个仓库名字,什么都不要填,仓库是空的(如果不是空的,操作麻烦) -开源协议:GPL,Apache -linux:GPL,自由使用开源的软件,修改,增加内容,可以收费,但是你的代码必须开源 -Kafka。。。:Apache,可以使用开源软件,但必须注明使用了 -把本地代码,上传到远程仓库 -本地有仓库,已经有版本管理了,远程有仓库,是空的 -设置用户名和邮箱--(如果不按照它显示的设置,在右侧贡献者看到别人头像) git config --global user.name "liuqingzheng" git config --global user.email "[email protected]" -已有仓库 -新增一个远程仓库 -git remote add origin https://gitee.com/liuqingzheng/lqz.git -把本地代码推上去 -git push origin master # 把本地的主分支推到origin对应的远程分支 -第一次推,需要输入gitee的账号和密码 -以后不需要输入用户名密码了 -凭证管理,可以删除,可以修改
6.1 把路飞项目传到远程仓库(非空的)
# 1 创建远程仓库luffy_api---【非空】 # 2 git clone https://gitee.com/liuqingzheng/luffy_api.git # 把远程仓库内容克隆到本地 # 3 把我们项目的代码,copy到 luffy_api这个文件夹下(.git文件夹不要copy) # 4 git add . # 5 git commit -m ‘初始化仓库’ # 6 git push origin master # 以后,完成了项目的某个功能就要执行下面的命令,以后你在公司中得开发提交步骤 -git add . -git commit -m '完成了xx功能,修改了xx文件。。。。' # 提交到了本地仓库 -每次提交【推到远端】代码之前,要拉取一下代码---》没事你就拉去一下,保证本地的版本库一直跟远端保存一样----以后冲突会变少 -git pull origin master -git push origin master # 把本地的mater分支推送到远端origin对应的地址-【可能推不上去】 -如果推不上去,说明本地不是最新版本,一定下拉去一下,成了最新版本再去提交
7 ssh链接远程仓库,协同开发
# 本地仓库和远程仓库建立关系时,建立的是https的链接,公司一般用ssh的链接 # https和ssh的区别 -https:输入用户名密码,保存在凭据管理中 -ssh:配置公钥私钥 -生成公钥私钥 -把公钥放到gitee上 -配好远程仓库,以后直接提交,不需要输入任何秘钥的东西 # ssh的配置步骤 -按照这个步骤操作:https://gitee.com/help/articles/4181 -cmd命令行中,一路回车,会在【C:\Users\联想\.ssh】文件夹下生成公钥和私钥 ssh-keygen -t ed25519 -C "邮箱" -生成一个公钥,一个私钥 id_ed25519 #私钥,千万不能泄露 id_ed25519.pub #公钥,可以给任何人 -把公钥配置在gitee的配置文件中 -到此,你的机器和gitee互相上传下载代码,都不要认证了 # 以后使用:免密了 -先删除origin 对应的https的链接:git remote remove origin -查看一下,没有了:git remote -配置成ssh的地址 git remote add bxf [email protected]:shangxin0v0/luffy.git -以后直接拉去,提交代码即可 git pull bxf master git push bxf master
7.1 协同开发
# 你们都注册gitee账号了(公司是注册gitlab账号) # 我们要共同开发luffy项目,协同开发 # 我是仓库管理员(你老大),要把你们加成项目的开发者 -要么给你个链接,点一下 -要么直接添加你 # 你进入到你的仓库中,就能看到这个项目了 -把项目clone下来:git clone [email protected]:liuqingzheng/luffy_api.git -用pycharm打开,愉快的开发了,开发完新功能 -git add . -git commit -m -git pull origin master -git push origin master
标签:git,仓库,gitee,---,文件夹,版本 From: https://www.cnblogs.com/shangxin-bai/p/16870970.html