Git本地项目开发流程记录

  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++头文件标头
    bash 复制代码
    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 
相关推荐
南果梨19 小时前
OpenClaw 完整教程!从安装到使用(官方脚本版)
前端·git·开源
Selicens2 天前
git批量删除本地多余分支
前端·git·后端
闲云一鹤3 天前
Git LFS 扫盲教程 - 你不会还在用 Git 管理大文件吧?
前端·git·前端工程化
vibecoding日记6 天前
为什么我就想要「线性历史 + Signed Commits」,GitHub 却把我当猴耍 🤬🎙️
git·编程工具
程序员小崔日记6 天前
如何将代码轻松上传到 Gitee?Git 使用全攻略!
git·gitee·上传
Bigger7 天前
为什么你的 Git 提交需要签名?—— Git Commit Signing 完全指南
git·开源·github
DianSan_ERP8 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
红豆子不相思8 天前
Tomcat 环境搭建与集群实战
服务器·git·tomcat
杰哥技术分享8 天前
Git 仓库迁移技术文档:从 CODING.net 迁移至腾讯云 CNB
git