Day34 PythonWeb全栈课程课堂内容

本文详细介绍了Gitee(Github)的使用,包括上传代码、新电脑下载、多人协同开发流程、Rebase操作及配置文件管理。重点讲述了如何在不同场景下进行代码操作,如忘记上传、分支合并、解决冲突。同时,还涵盖了多人协作的项目创建、成员邀请、Code Review、提测上线以及给开源项目贡献代码的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Gitee(Github)简单使用

  • 步骤:1. 创建账户;2. 创建一个仓库;3. 将本地代码推送到远程仓库。
  • 使用网址:https://blog.youkuaiyun.com/p445098355/article/details/104766195
  • Github使用和Gitee类似,由于国内上不了外网,以下在Gitee中使用。

2. Gitee(Github)使用

1.1 上传代码

  • 给远程仓库起别名
$ git remote add origin [远程仓库地址]
  • 向远程推送代码
$ git push -u origin [分支名]

1.2 新电脑下载代码

  • 克隆远程代码
$ git clone [远程仓库地址]
  • 切换分支(在新电脑上进行开发的时候,要在分支中进行代码操作)
$ git checkout [分支]
  • 一次克隆代码之后,不用重复克隆,直接使用pull来复制代码
$ git pull

1.3 公司下载后继续开发

  • 切换到slave1[分支]进行开发
$ git checkout slave1
  • master合并到slave1[分支]
$ git merge master
  • 代码修改后,提交代码
$ git add .
$ git commit -m "xxx"
$ git push origin slave1

1.4 开发完毕,上线

  • slave1分支合并到master,进行上线
$ git checkout master
$ git merge slave1
$ git push origin master

1.5 忘记上传到仓库时

  • 在家拉代码时,发现并没有公司的代码
$ git pull origin slave1
  • 无奈,继续开发其他功能
  • slave1分支也推送到远程
$ git add .
$ git commit -m "xxx"
$ git push origin slave1
  • 在公司继续写代码
  • 拉代码,将昨天在家的代码拉回本地(可能存在冲突)
git pull origin slave1
  • 解决冲突,继续开发

  • slave1分支推动到远程

$ git add .
$ git commit -m "xxx"
$ git push origin slave1

1.6 注意

  • 上传代码时候,首先
$ git pull 

3. Rebase

  • 变基,使代码的提交记录更加简洁
  • 案例:
$ mkdir Rebase-demo
$ cd Rebase-demo
$ git init 

提交第一次
$ touch 1.py
$ git add .
$ git commit -m "v1"

提交第二次
$ touch 2.py
$ git add .
$ git commit -m "v2"

提交第三次
$ touch 3.py
$ git add .
$ git commit -m "v3"

查看记录
$ git log


$ git rebase -i [版本号]
会提示相对应的参数

在这里插入图片描述

pick 2e342ba v2
pick e1c4532 v3

# Rebase 9919d24..e1c4532 onto 9919d24 (2 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup <commit> = like "squash", but discard this commit's log message
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# .       create a merge commit using the original merge commit's
# .       message (or the oneline, if no original merge commit was
# .       specified). Use -c <commit> to reword the commit message.
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out

  • 合并记录。
$ git rebase -i HEAD~2
  • pick e1c4532 v3 修改为 s e1c4532 v3, 保存
  • v2 # This is the commit message #2 v3改为v2 & v3,保存
  • 系统会提示成功rebase
$ git log

  • 修改记录(最后一条记录名称)
$ touch 4.py
$ git add .
$ git commit -m 'v4'
$ git commit --amend
  • 修改任意一条记录
$ git rebase -i [记录号]
  • 修改名称使用参数r,保存

4. 多人协同开发工作流

创建项目&邀请成员

协同开发时,需要所有成员都可以对同一个项目进行操作,需要邀请成员并赋予权限,否则无法开发。 github支持两种创建项目的方式(供多人协同开发)。

  • 1.合作者,将用户添加到仓库合作者中之后,该用户就可以向当前仓库提交代码。
  • 2.组织,将成员邀请进入组织,组织下可以创建多个仓库,组织成员可以向组织下仓库提交代码。

成员开发

注册Github或Gitlab账号

  • 邀请成员进入组织(默认对组织中的项目具有读权限)
  • 邀请成员成为某项目的合作者

code review

  • 配置,代码review之后才能合并到dev分支
  • 成员提交code review申请
  • 组长做 code review

提测上线(预发布)

由专门团队或团队Leader执行以下步骤

1.基于slave1分值创建release分值

git checkout slave1
git checkout -b release

2.测试等

3.合并到master

使用 pull request
本地将release合并到master分支

4.在master分支打tag

git tag -a v2 -m '第二版 斗地主功能' 
git push origin --tags

5.运维人员就可以去下载代码做上线了

git clone -b v2 地址

给开源项目贡献代码

  • 1.fork源代码将别人源代码拷贝到我自己的远程仓库。
  • 2.在自己仓库进行修改代码
  • 3.给源代码的作者提交修复bug的申请(pull request)

多个项目

创建一个组织,可以放许多项目。

  1. Gitee(Github)中创建一个组织。
  2. 在组织中创建一个新的仓库。
  3. 在本地项目中,先连接组织。
$ git remote add origin [连接]
$ git push -u origin master
  1. 设置标签,提交标签
$ git tag -a v1 -m 'v1' 
$ git push origin --tags
  1. 创建分支slave1
$ git branch slave1
$ git checkout slave1
$ git push origin slave1
  1. 创建新的分支slave2给成员使用
$ git branch slave2
$ git checkout slave2
  1. slave2中开发
$ touch ddz.py
$ git add .
$ git commit -m "ddz"
$ git push origin slave2
  1. 进行review,在Gitee的仓库中选择Pull Requests进行合并。

5. 配置文件存放三个位置

  • 项目配置文件:项目/.git/config
git config --local user.name 'juran'
git config --local user.email 'juran@xx.com
  • 全局配置文件:~/.gitconfig
git config --global user.name 'juran'
git config --global user.name 'juran@xx.com
  • 系统配置文件:/etc/.gitconfig
git config --system user.name 'juran'
git config --system user.name 'juran@xx.com'
注意:需要有root权限

免密码登录

  • URL中体现
原来的地址:https://github.com/juran/dbhot.git
修改的地址:https://用户名:密码@github.com/juran/dbhot.git
git remote add origin https://用户名:密码@github.com/juran/dbhot.git 
git push origin master
  • SSH实现
1.生成公钥和私钥(默认放在~/.ssh目录下,id_rsa.pub公钥、id_rsa私钥) ssh-keygen

2.拷贝公钥的内容,并设置到github中。 

3.在git本地中配置ssh地址
git remote add origin git@github.com:juran/dbhot.git

4.以后使用
git push origin master

git忽略文件

让Git不再管理当前目录下的某些文件。

*.h    
!a.h  
files/  
*.py[c|a|d]

更多参考:https://github.com/github/gitignore

github任务管理相关

  • issues,文档以及任务管理。
  • wiki,项目文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值