前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Git】每天1分钟系列——Git项目分组开发

【Git】每天1分钟系列——Git项目分组开发

作者头像
天道Vax的时间宝藏
发布2021-08-11 16:10:26
8320
发布2021-08-11 16:10:26
举报
  • 项目经理创建完成仓库后,接下来项目组成员就要进行开发工作了
  • 以下操作由每个组员独自完成

添加ssh账户

  • 这一步是组员在ubuntu中生成ssh密钥,然后交给项目经理添加到github中
  • 在ubuntu的命令行中,修改某台机器的git配置
  • 修改为注册github时的邮箱,填写用户名,要求组员的用户名不能重复

生成git密钥

  • 删除~/.ssh目录,这里存储了旧的密钥
代码语言:javascript
复制
rm -r .ssh
  • 运行如下命令生成密钥
    • 在“图标2”处可以填写保存密钥的目录
    • 在“图标3”处可以填写密码,如果填写,一般为项目的名称,后续操作时会要求填写此密码
    • 公钥名称为id_rsa.pub
    • 私钥名称为id_rsa
代码语言:javascript
复制
ssh-keygen -t rsa -C "Github账号,可以是用户名,也可以是邮箱地址"
  • 查看公钥内容,复制此内容
代码语言:javascript
复制
cat id_rsa.pub
  • 将复制的公钥发给项目经理,等项目经理在github上添加后,会将项目地址下发,然后就可以参与到项目开发中进行后续操作

本地克隆

  • 根据项目经理提供的地址,如“git@github.com:bossliu2016/django1.git”,从github上将项目克隆到本地,默认对应的是master分支
代码语言:javascript
复制
git clone 项目地址
例:
git clone git@github.com:bossliu2016/django1.git
  • 克隆后如下图
  • 在克隆出来的目录下,隐藏目录.git存储了服务器、分支、文件变更等信息

同步分支

  • 以自己的姓名创建分支,如果此分支已经存在可以添加数字后缀,具体要与项目经理商量
代码语言:javascript
复制
git checkout -b zhujiao
  • 将本地分支推送到服务器
代码语言:javascript
复制
git push origin zhujiao
  • 将本地分支跟踪服务器分支
代码语言:javascript
复制
git branch --set-upstream-to=origin/分支名称 分支名称
例:
git branch --set-upstream-to=origin/zhujiao zhujiao
  • 将github上的dev分支同步到本地,因为开发过程中,所有组员都向这个分支上提交阶段性代码,并从这个分支获取最新代码
代码语言:javascript
复制
git checkout -b dev origin/dev
  • 效果如下图

开发管理

  • 上面的操作,只有我们在加入项目的第一天需要进行,只操作一次就够了
  • 接下来的操作,是我们每天开发中都要进行的操作,这是必须做到熟练操作的命令
  • 当前用户以zhujiao分支进行开发
代码语言:javascript
复制
git checkout zhujiao
  • 本地仓库分为三部分:工作区,暂存区,仓库区,其中暂存区、仓库区是版本库部分
  • 使用IDE如sublime、pycharm等打开项目目录

工作区与暂存区

  • 对于添加、修改、删除文件的操作,都发生在工作区中
  • 暂存区指将工作区中的操作完成小阶段的存储,是版本库的一部分
  • 工作区与暂存区交互的方式及命令如下

添加

  • 按照工作分配,需要创建df_user模块,此时文件位于工作区
代码语言:javascript
复制
python manage.py startapp df_user
  • 在ide中编辑df_user/models.py文件,创建模型类UserInfo
代码语言:javascript
复制
class UserInfo(models.Model):
    uname = models.CharField(max_length=20)
    upwd = models.CharField(max_length=40)
    def __str__(self):
        return "%d" % self.pk
  • 将目录df_user及所有子目录和文件添加到暂存区
代码语言:javascript
复制
git add 文件1 文件2 ...
git add 目录
例:
git add df_user/

撤销

  • 使用暂时区的内容恢复工作区的内容,放弃工作区的更改
  • 在ide中编辑df_user/models.py文件,删除掉str方法
代码语言:javascript
复制
class UserInfo(models.Model):
    uname = models.CharField(max_length=20)
    upwd = models.CharField(max_length=40)
  • 此时无str方法的类在工作区,暂存区中的类是有str方法的,如果想回到暂存区的状态,则
代码语言:javascript
复制
git checkout -- 文件名
例:
git checkout -- df_user/models.py
  • 在ide中查看df_user/models.py文件,发现str方法又回来了

暂存区与仓库区

  • 仓库区表示个人开发的一个小阶段的完成,仓库区中记录的各版本是可以查看并回退的,但是在暂存区的版本一旦提交就再也没有了
  • 暂存区与仓库区交互的方式及命令如下
  • 查看暂存区未提交的记录
代码语言:javascript
复制
git status
  • 将暂存区的记录提交到仓库区
代码语言:javascript
复制
git commit -m '本次提交的说明信息'
例:
git commit -m '创建df_user模块'
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-07-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 添加ssh账户
  • 本地克隆
  • 同步分支
  • 开发管理
  • 工作区与暂存区
  • 暂存区与仓库区
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档