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:[email protected]") 
            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:[email protected]") 
                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            : [email protected]")
                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            : [email protected]")
                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 
相关推荐
船长@Quant1 小时前
协作开发攻略:Git全面使用指南 — 第二部分 高级技巧与最佳实践
git·版本控制·源代码管理·协作开发
用户12653838705123 小时前
github 和 gitee 配置问题及相关问题解决
git·github
极小狐4 小时前
极狐GitLab Git LFS 速率限制如何设置?
运维·git·ssh·gitlab·github
极小狐4 小时前
如何解决极狐GitLab 合并冲突?
人工智能·git·机器学习·gitlab
一袋米扛几楼984 小时前
【GIT】github中的仓库如何删除?
git·github
hjm47021925 小时前
GIT 使用小记
git
程序猿chen14 小时前
JVM考古现场(二十五):逆熵者·时间晶体的永恒之战(进阶篇)
java·jvm·git·后端·程序人生·java-ee·改行学it
biubiubiu070617 小时前
git提交
git
ljh57464911917 小时前
git撤销最近一次commit
git
三体世界18 小时前
Linux 管道理解
linux·c语言·开发语言·c++·git·vscode·visual studio