git个人使用总结(命令版)

一、基础命令

快照类操作:add、status、diff、commit、reset、rm、mv

分支类基本操作:branch、checkout、log、stash

分享及更新项目基本操作:pull、push

组合场景操作:

获取代码:创建仓库(UI)、clone

提交代码:add、status、diff、commit、reset

分享代码:branch、push

更新代码:stash、rebase、pull

阅读他人代码:checkout、log

贡献代码:fork、merge request

二、以下为具体操作与截图

1、获取代码

在git bash命令下执行git clone <git下载地址>,例如:git clone [email protected]:zhanyuyi/git_basic_homework.git

2、 建立.gitgnore

(1)第一次提交代码前,建立.gitignore,在git bash命令下执行touch .gitignore即可生成

(2)建立.gitignore后,提交

//添加.gitignore文件到暂存区

git add .gitgnore

//提交

git commit -m "chore:添加.gitgnore,忽略不需要版本跟踪的文件"

(3)用文本编辑器如editplus或notepad++输入需要忽略的文件或文件名,一般可忽略的文件有以下:

##ignore this file##
/target/

.classpath
.project
.settings      
 ##filter databfile、sln file##
*.mdb  
*.ldb  
*.sln    
##class file##
*.com  
*.class  
*.dll  
*.exe  
*.o  
*.so  
# compression file
*.7z  
*.dmg  
*.gz  
*.iso  
*.jar  
*.rar  
*.tar  
*.zip  
*.via
*.tmp
*.err 
# OS generated files #  
.DS_Store  
.DS_Store?  
._*  
.Spotlight-V100  
.Trashes  
Icon?  
ehthumbs.db  
Thumbs.db

备注:

/target/ :过滤文件设置,表示过滤这个文件夹

*.mdb  ,*.ldb  ,*.sln 表示过滤某种类型的文件
/mtk/do.c ,/mtk/if.h  表示指定过滤某个文件下具体文件
 !*.c , !/dir/subdir/     !开头表示不过滤
 *.[oa]    支持通配符:过滤repo中所有以.o或者.a为扩展名的文件

该方法保证任何人都提交不了这类文件

3、提交代码

本地working directory、staging area暂存区、local repo三个区域间切换关系

提交代码前需要做好2点,第一,一次提交只做一件事;第二,review后才提交。

通常为以下步骤:

//步骤1:查看本地仓库状态

git status

//步骤2:添加认为本次提交应包含的文件到暂存区

git add file1

...

//步骤3:review暂存区内容

git diff --cached

//若review发现问题,则继续修改,然后再add,直到满意

...

//步骤4:提交到本地仓库

git commit -m "feat:新增a.java"

//步骤5:提交到远程仓库

git push

有提交必然有提交日志,提交日志格式:

<type>(<scope>):<subject>

//空一行

<body>

提交日志规范如下:

type
用于表示commit的类别,允许用下面8个标识
ftr/(feat):新功能(feature)无ftr历史原因的,请使用feat
fix:修补bug
docs:文档(documentation)
style:格式(不影响代码运行的变动)
refactor:重构(即不是新增功能,也不是修改bug的代码变动)
test:增加测试
chore:构建过程或辅助工具的变动
conflict:解决冲突

scope用来标识当前提交代码的影响范围
如果jira单对应,用(#jira-1)的格式来标准(如果jira单对应feat或fix,强制性添加)
如果没jira单对应,则按层级描述代码的影响范围(eg:view,viewmodel,net,test,model,utils,protocol,presenter)
如果在代码评审工具Phabricator评审代码,在scope中加上fix的hash id
如果没合适的范围,可以不填

subject是commit目的的简短描述,不超过50个字符。以动词开头结尾不加句号(。)或句点(.)

body是对本次commit的详细描述,可以分成多行

提交范例:

有jira单例子
ftr(#JIRA-1):完成计算器加减开发

计算器加减法功能完成
-添加加减法计算UI
-添加错误提示样式
没jira单例子
refactor(viewmodel):重构add viewmodel部分代码,提高性能

add计算逻辑优化
-整型改为浮点型计算

4、合并代码

合并他人分支时,例如需要把task_TEST-1_zhanyuyi合并到master分支

第一,若不在master分支,使用git checkout master把当前分支切换到master分支;

第二,使用git merge task_TEST-1_zhanyuyi后,确定merge成功;

第三,使用git push,把当前的master分支推送到远程master分支;

5、分享代码

未完,待续

时间: 2025-01-13 04:54:13

git个人使用总结(命令版)的相关文章

Git相关信息查看命令

查看git版本 git --version 命令输出 查看git的配置信息 git config -l 或 git config --list 命令输出 查看git具体某个配置信息 git config user.name 命令输出 查看git远程库地址 git remote -v 命令输出 修改git的配置信息 git config --global user.name "dengyunshuo" git config user.name 命令输出

git常用的一些命令总结

git常用的一些命令总结 git init 创建一个版本库 git add file 将文件从工作区提交到暂存区 git commit -m "blabla--" 将文件中暂存区提交到仓库 git status 查看仓库当前的状态 git diff 可以查看具体修改了哪些内容 git log 查看我们提交的历史记录 git log –pretty=oneline #输出少量版本信息和提交的内容 git reset –hard HEAD^ #返回上一个版本 cat filename #查

github总结(4)--关于git reset --hard这个命令的惨痛教训

背景叙述: 前几天,上传自己的个站到git上的时候,手欠脑发晕的用了次git reset --hard xxxxxx 命令.由于只在线上传入了一个index.html页面(自己都不知道自己咋想的,就这么干了,O__O"-),且第一次commit的时候也只commit了一个index.html文件,其他文件的只是通过git add --all命令进行本地追踪. 然后,突发奇想,想恢复到第一次提交的时候(天知道当时自己咋想的)!于是自然(大概也只有天知道当时手咋那么自然随意)的用了git reset

Git 基本原理与常用命令

平时使用过两种版本控制软件 SVN 和 Git,平心而论,如果纯粹自己使用,那么绝对 Git 更加适合,本地库.远程库.离线工作.强大而灵活的分支.大名鼎鼎的Github, 这些都是选择 Git 的原因.记得刚接触时Git,感觉 Git 如此强大,再加上其是由大名鼎鼎的 Linus 所编写,所以花了很多的时间看各种资料,不过后来那些不常用的命令与功能还是仅仅停留在知道与了解的层面.Git 只是一种工具,是为了满足某种需求而被编写出来的一种工具,对于工具做到善加利用即可.当然,要做到善加利用,一定

Git与GitHub常用命令

说在前面的话,本文是跟着张哥的 GitHub 系列教程操作的,张哥微信公众号: googdev 雾艹-.. 一直在出差(借口)- 看了一下两个月没写博客了,真是太TM可怕了!!! 赶紧补一发,压压惊 git 注:在使用的任何的 git 命令前,都要切换到 git 项目目录下 git init 初始化一个 git 仓库 git status 查看当前 git 仓库的状态 git add file 修改 file 文件的状态为添加,并没有提交,只是存在缓存区 git rm –cached file

git的基本使用命令操作

Linux操作命令行:    mkdir - 创建文件夹,    cd - 切换文件路径    pwd - 显示文件路径    ls -ah - 可以查看隐藏的文件夹名(.git)    cat 文件名 - 查看文件内容    rm 文件名 - 删除指定文件名 git 操作命令行:        git config --global user.name "your name" - 给该电脑取名    git config --global user.email "your

git原理浅析及命令介绍

状态描述 请记住,工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪.已跟踪的文件是指本来就被纳入版本控制管理的文件,在上次快照中有它们的记录,工作一段时间后,它们的状态可能是未更新,已修改或者已放入暂存区.而所有其他文件都属于未跟踪文件.它们既没有上次更新时的快照,也不在当前的暂存区域.初次克隆某个仓库时,工作目录中的所有文件都属于已跟踪文件,且状态为未修改. 在编辑过某些文件之后,Git 将这些文件标为已修改.我们逐步把这些修改过的文件放到暂存区域,直到最后一次性提交所有这些暂存起来的

git plumbing 更加底层命令解析-深入理解GIT

原文: http://rypress.com/tutorials/git/plumbing 本文详细介绍GIT Plumbing--更加底层的git命令,你将会对git在内部是如何管理和呈现一个项目repo有一个深入的理解. 除非你想通读Git源代码,你可能永远没有必要使用下面的命令.但是通过手工的操作一个repo将会让你对于GIT如何保存数据的概念细节有个深入理解,你也将对于git是如何工作的有更好的理解. 我们首先来检阅Git的object database,然后我们使用git的低级命令手工

Git的使用基于命令行

一.检查Git 使用Git前先检查本机上是否安装了Git,Mac上默认都是安装了Git的 1.打开终端,输入指令,如果已经安装了Git就会显示版本号 git version 2.如果尚未安装Git,可以通过Xcode的Command Line Tools并使用如下命令安装Git xcode-select --install 二.新建项目并上传 1.在远程第三方托管网站上新建一个远程仓库 上一篇文章已经在讲述过如果在GitHub上创建仓库,这里就不在叙述了. 2.本地创建一个新的项目,以Xcode