使用git
Posted gugu-da
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用git相关的知识,希望对你有一定的参考价值。
使用git进行本地版本控制
- 进入要管理的目录
- git init 初始化
- git status 查看目录下的文件状态
- git add 文件名/. 管理指定文件
- 初次要个人信息配置:用户名、密码
- git config --global user.email ""
- git config --global user.name ""
- git commit -m "描述信息" 生成版本
回滚至之前的版本
- git log 查看版本记录
- git log --graph 图形展示
- git log --graph --pretty=format:"%h %s"
- git reset --hard 版本号
回滚之后的版本
-
git reflog
-
043a25d4354ab066c8160015aebf6c6f5cd4de0a
-
git reset --hard 版本号
git reset HEAD 文件名
git checkout --文件名
分支
- git branch 查看分支
- git branch 分支名 创建分支
- git checkout 分支名 切换分支
- git checkout -b dev 创建并切换到dev分支
- git merge 分支名 合并分支
- 先切换分支再合并
- git branch -d 分支名 删除分支
给远程仓库起别名、向远程推送代码
- git remote add origin 远程仓库地址
- git push -u origin 分支
版本控制
- git tag -a v1 -m ”第一版“
- git push origin --tags
1.熟悉项目
1.1下载代码
-
删除系统中已存在的凭证
win:凭据管理,找到账户删除 mac:钥匙串,找到账户删除
-
在url中写入用户名和密码
git clone https://用户名:密码@gitee.com/
-
ssh方式
-
本地生成一对公钥和私钥
-
把公钥拷贝放到github/码云
git clone git@gitee.com/
-
1.2创建虚拟环境
-
安装virtualenv
pip3 install virtualenv
-
创建虚拟环境
进入要创建位置的目录 virtualenv 环境名称
-
进入虚拟环境
- win:activate
-
在虚拟环境中安装软件
- pip3 install django
-
退出虚拟环境
- win:deactive
-
pycharm中如何创建虚拟环境
1.3初始化环境
pip3 install -r requirements.txt
- 如果有的包安装不上,一般情况是系统导致
1.4数据库设置
一般开发时,不会连接正式库
- 正式库
- 测试库
1.5看代码
- 找程序的入口
- url
- main
- 看注释/变量名/函数名
- 调用关系/返回值
- 至少看10个请求
1.6运行程序
-
找主文件
根目录:app.py/manage.py/start.py bin目录:app.py/manage.py/start.py script目录:app.py/manage.py/start.py
-
运行
python 要启动的文件 python 要启动的文件 参数
2.开发项目
2.1一个人开发
-
从公司把最新的代码拉下来
git pull master
-
至少有两个分支
dev master #创建分支 git branch 分支名 #查看所有分支 git branch #切换分支 git checkout dev
-
在公司开发代码dev分支
开发 git add . git commit -m "提交记录" git push origin dev
-
回家开发
git pull origin dev 开发 git add . git commit -m "提交记录" git push origin dev
-
开发完毕
git checkout master git merge dev
-
上线
运维会去git中拉代码,并做部署处理
2.2可能会遇到的问题
- 合并的时候可能会产生冲突——>手动解决
3.多人协同开发
3.1在公司如何做协同开发
每个人一个分支,自己的功能在自己的分支完成
--业务/名字
--业务为分支,开发完毕后,会删除掉
3.2公司如何做代码review
- 通过提交pullrequest
3.3在开发过程中,项目出现了紧急bug如何解决
- 创建一个bug分支,专门进行bug的修复
4.rebase(变基)
- 使git记录简洁
- 应用场景1:多个记录合并成一个目录
- git rebase -i 版本
- git rebase -i HEAD~3
- 应用场景2:将dev分支合并到master中间
- 在dev中git rebase master --> 在master中git merge dev
- 应用场景3:从远程pull代码
- git fetch origin dev
- git rebase origin/dev
- git rebase 产生冲突 -->解决冲突-->git rebase --continue
- 合并记录时尽量不要合并push到库中的
5.快速解决冲突
-
安装beyound compare
-
在git中配置
git config --local merge.tool 文件名 git config --local mergetool.path "compare安装目录/bin/" git config --local mergrtool.keepBackup false
-
应用beyound compare解决冲突
git mergetool
6.给开源软件贡献代码
- fork源代码(将别人的源代码拷贝到自己的远程仓库)
- 在自己的仓库进行修改代码
- 给源代码的作者提交修复bug的申请(pull request)
7.其他
-
项目配置文件:项目/.git/config
git config --local user.email "" git config --local user.name ""
-
全局配置文件:~/.git/config
git config --global user.email "" git config --global user.name ""
-
系统配置文件:/etc/.gitconfig
git config --system user.email "" git config --system user.name "" 注意:需要有root权限
-
应用场景:
git config --local user.email "" git config --local user.name "" git config --local merge.tool 文件名 git config --local mergetool.path "compare安装目录/bin/" git config --local mergrtool.keepBackup false git remote add origin 地址 默认添加在本地配置文件中
8.免密登录
-
URL中体现
git remote add origin https://用户名:密码@github.com/
-
SSH实现
1.生成公钥和私钥 ssh-keygen 2.拷贝公钥的内容,并设置到github 3.在git中配置ssh地址
-
git自动管理凭证
9.git忽略文件
让git不再管理当前目录下的某些文件
*.h
!a.h
files/
参考https://github.com/github/gitignore
10.任务管理相关
- issues 文档以及任务管理
- wiki 项目文档
以上是关于使用git的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段15——git命令操作一个完整流程
VSCode自定义代码片段15——git命令操作一个完整流程
GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段
GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段