使用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命令操作一个完整流程

如何管理在每个 git 版本中添加私有代码片段?

markdown Git代码片段

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段