Git本地项目开发流程记录

本文介绍了在GitBash中进行本地项目开发的基础流程,包括工作区、缓存区和版本区的概念,以及如何初始化项目、管理分支、查看日志、进行版本操作和配置Gitignore。还分享了Git的一些实用技巧和配置方法。
摘要由CSDN通过智能技术生成
  1. 背景
    基于Git Bash本地创建项目,了解Git项目开发的基本流程,便于管理和记录算法开发流程,规范代码结构。
  2. 相关概念
    Git分区:工作区,缓存区,版本区。工作区即代码开发的本地文件,缓存区为使用Git add后添加到Git缓存的文件,版本区指使用Git commit添加到仓库的文件。
  3. 项目开发
    初始化项目工作区:git init
    添加文件到缓存区:git add filename (添加所有文件:git add .)
    添加备注信息到版本区:git commit -m “commit info”
    状态查询(查看分支是否更新完成):git status
    (可选的:版本区打标:git tag)
  4. 项目管理
    1. 分支管理
    创建分支:git checkout branchname
    合并分支(branch2合并到branch1): (branch1) git merge branch2
    删除分支(在其他分支删除branch2): (branch1) git checkouot -d branch2
    2. 日志管理
    查看日志:git log
    3. 版本管理
    版本标签:git tag n.m.k
  5. Git技巧
    1. 只存储关键代码,删除不必要的文件: .gitignore配置可忽略文件(如删除.txt: .txt, 删除根目录下x文件夹:/x/)
    2. 从特定tag下创建分支:git checkout -b branchname version
    3. 更新git缓存的.gitignore文件:git rm --cached filename
  6. 其他
    1. git bash vim配置,支持python,c, c++头文件标头
    autocmd BufNewFile *.cpp,*.py,*.[ch],*.sh,*.java exec ":call SetTitle()" 
    func SetTitle() 
        if &filetype == 'sh' 
            call setline(1,"\#########################################################################") 
            call append(line("."), "\# File Name:".expand("%")) 
            call append(line(".")+1, "\# Author:Xwell") 
            call append(line(".")+2, "\# mail:Xwell@qq.com") 
            call append(line(".")+3, "\# Created Time:".strftime("%Y-%m-%d %H:%M")) 
            call append(line(".")+4, "\#########################################################################") 
            call append(line(".")+5, "\#!/bin/bash") 
            call append(line(".")+6, "") 
        else 
            if &filetype == 'python'
                call setline(1,"\#########################################################################") 
                call append(line("."), "\# File Name:".expand("%")) 
                call append(line(".")+1, "\# Author:Xwell") 
                call append(line(".")+2, "\# mail:Xwell@qq.com") 
                call append(line(".")+3, "\# Created Time:".strftime("%Y-%m-%d %H:%M")) 
                call append(line(".")+4, "\#########################################################################") 
                call append(line(".")+5, "\#!/usr/bin/python") 
                call append(line(".")+6, "")
            endif
            if &filetype == 'cpp'
                call setline(1, "/*************************************************************************") 
                call append(line("."), "\* @Filename         : ".expand("%")) 
                call append(line(".")+1, "\* @Description      : ") 
                call append(line(".")+2, "\* @Date             : ".strftime("%Y-%m-%d %H:%M")) 
                call append(line(".")+3, "\* @Author           : Xwell")
                call append(line(".")+4, "\* @Email            : xxxxxx@qq.com")
                call append(line(".")+5, "\* @Vesion           : 1.0")
                call append(line(".")+6, "\* @ Copyright (c) 2024 Xwell. All rights reserved")
                call append(line(".")+7, "\* ************************************************************************/") 
                call append(line(".")+8, "")
                call append(line(".")+9, "#include<iostream>")
                call append(line(".")+10, "using namespace std;")
                call append(line(".")+11, "")
                call append(line(".")+12, "int main(int argc, char* argv[]){")
                call append(line(".")+13, "    return 0;")
                call append(line(".")+14, "}")
            endif
    
            if &filetype == 'c'
                call setline(1, "/*************************************************************************") 
                call append(line("."), "\* @Filename         : ".expand("%")) 
                call append(line(".")+1, "\* @Description      : ") 
                call append(line(".")+2, "\* @Date             : ".strftime("%Y-%m-%d %H:%M")) 
                call append(line(".")+3, "\* @Author           : Xwell")
                call append(line(".")+4, "\* @Email            : Xwell@qq.com")
                call append(line(".")+5, "\* @Vesion           : 1.0")
                call append(line(".")+6, "\* @ Copyright (c) 2024 Xwell. All rights reserved")
                call append(line(".")+7, "\* ************************************************************************/") 
                call append(line(".")+8, "")
                call append(line(".")+9, "#include<stdio.h>")
                call append(line(".")+10, "")
            endif
    
        endif
        autocmd BufNewFile * normal G
    endfunc 
    
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Git多人协作开发流程如下: 1. 创建一个Git裸服务器:由项目负责人在服务器上创建一个裸仓库(git init --bare),作为项目的中央代码仓库。 2. 开发人员克隆仓库:每个开发人员将中央代码仓库克隆到本地(git clone),这样他们就可以在自己的本地进行开发工作。 3. 开发工作:开发人员在本地进行常规的开发工作,包括修改代码、添加新功能等。 4. 提交代码:开发人员将他们的修改提交到本地仓库(git commit),这样他们的修改就被记录下来了。 5. 推送到服务器:开发人员将他们的修改推送到中央代码仓库(git push origin master),这样其他开发人员就可以看到他们的修改。 6. 拉取最新代码:开发人员在开始工作之前,应该先拉取最新的代码(git pull),以确保他们的本地代码是最新的。 7. 分支管理:团队可以使用分支来进行并行开发和功能隔离。例如,项目负责人可以创建一个发布分支(Release)用于上线前的测试,如果测试出现bug,则再创建一个修复bug的分支,然后将修复后的代码合并回发布分支和开发分支。测试完成后,发布分支和bug分支可以被删除。\[3\] 总结起来,Git多人协作开发流程包括创建中央代码仓库、克隆仓库到本地、开发工作、提交代码、推送到服务器、拉取最新代码和分支管理。这样团队成员可以在一个统一的代码仓库中进行协作开发,并且能够方便地管理和追踪代码的修改。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [git多人协作开发流程](https://blog.csdn.net/weixin_43501172/article/details/115549918)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Git 之 多人协同开发工作流](https://blog.csdn.net/Tianxing10/article/details/123600990)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值