前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >git学习总结01 — 初始化

git学习总结01 — 初始化

原创
作者头像
CS逍遥剑仙
发布于 2020-05-30 03:53:25
发布于 2020-05-30 03:53:25
6510
举报
文章被收录于专栏:禅林阆苑禅林阆苑

git学习总结01 — 初始化

TOC

Write By CS逍遥剑仙 我的主页: www.csxiaoyao.com GitHub: github.com/csxiaoyaojianxian Email: sunjianfeng@csxiaoyao.com

1. 起步

最初学习 git 已是多年前在校期间,用于课程设计,场景也相对简单。实习后由于所在公司一直使用 svn,缺少协作实践场景,时间久了 git 知识已逐渐淡忘。公司从去年开始已经在内部全面推广 git,随着项目规模不断扩大,git 操作方面已明显力不从心,因此再次系统化学习 git,写此笔记以总结备忘。

本文分3篇:《初始化》、《版本控制》、《分支管理》进行总结,因为版本控制和分支管理是 git 的核心,已经单独成篇,在版本控制一篇中最后总结了8种常见的场景,在分支管理一篇中总结了团队协作模式和 git 工作流,剩下的细碎的内容放在了第一篇初始化中。

2. 初始化配置

2.1 设置签名 config

安装完 git 后需要设置签名,签名分为项目级别和系统用户级别。

项目/仓库级别:

代码语言:txt
AI代码解释
复制
$ git config user.name csxiaoyaojianxian
$ git config user.email sunjianfeng@csxiaoyao.com

仅在当前本地库有效,信息保存在 ./.git/config 文件。

系统用户级别:

代码语言:txt
AI代码解释
复制
$ git config --global user.name csxiaoyaojianxian
$ git config --global sunjianfeng@csxiaoyao.com

信息保存在 ~/.gitconfig 文件。

注意:

这里的用户名和邮箱仅用于区分不同开发人员身份,和登录远程库的账号没有任何关系

2.2 初始化本地库 init

代码语言:txt
AI代码解释
复制
$ git init

2.3 配置忽略文件 .gitignore

代码提交需要忽略垃圾文件和敏感信息文件,可以配置 .gitignore,参考 https://github.com/github/gitignore

代码语言:txt
AI代码解释
复制
# 检查验证规则
$ git check-ignore -v config.js
# 使用 -f 参数强制添加
$ git add -f config.js

3. 搭建 gitlab

git 分工作区 (Working Directory)暂存区 (Stage / Index)本地库 (Repository)远程库。远程库除了使用 github 等外,还可以自己搭建。gitlab 社区版安装指引 <https://about.gitlab.com/install/>,安装完成后初始化配置 gitlab:

代码语言:txt
AI代码解释
复制
# 启动gitlab服务
$ gitlab-ctl reconfigure
$ gitlab-ctl start
# 停止gitlab服务
$ gitlab-ctl stop

4. 文件操作 add & commit

快照流文件管理:每次 commit 提交更新时 git 都会对当前的全部文件制作一个快照并保存这个快照的索引。为了高效,如果文件没有修改则只保留一个链接指向之前存储的文件。

代码语言:txt
AI代码解释
复制
# 查看工作区、暂存区状态
$ git status
# 工作区的"新建/修改"添加到暂存区
$ git add [file name]
# 暂存区删除对指定文件的追踪
$ git rm --cached [file name]
# 将暂存区的内容提交到本地库
$ git commit -m "commit message" [file name]
# 简化命令: 跳过 add 所有工作区文件,直接 commit
$ git commit -a
$ git commit -am "commit message"
# 编辑上次提交信息
$ git commit --amend -m "更好的提交日志"
# 在上次提交中附加一些内容,保持提交日志不变
$ git add . && git commit --amend --no-edit
# 空提交,可用来重新触发 CI 构建
$ git commit --allow-empty -m "chore: re-trigger build"

5. 文件差异比较 diff

代码语言:txt
AI代码解释
复制
# 工作区 / 暂存区 比较
$ git diff [file name]
# 工作区 / 暂存区 比较多个
$ git diff

# 工作区 / 本地库 比较
$ git diff [本地库中历史版本] [file name]
$ git diff HEAD^ test.txt

# 两个分支文件差异比较
$ git diff master..dev

6. 命令一览

代码语言:txt
AI代码解释
复制
# 帮助命令
$ git help <command>

参考:

https://dev.to/lydiahallie/cs-visualized-useful-git-commands-37p1

https://dev.to/maxpou/git-cheat-sheet-advanced-3a17

https://gitee.com/liaoxuefeng/learn-java/raw/master/teach/git-cheatsheet.pdf

https://juejin.im/post/5e9e49356fb9a03c917fe7fd

https://www.liaoxuefeng.com/wiki/896043488029600

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Git命令大全
merge选项--strategy=ours/theirs:以当前分支为主/以合并分支为主,不选择时为默认
ruochen
2021/12/04
1.5K0
git的基本使用
分布式版本控制系统的安全性要高很多,因为每个开发人员电脑里都有完整的版本库,某一个开发人员的电脑坏掉了不要紧,随便从其他开发人员那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有开发人员都没法工作。
Dreamy.TZK
2020/08/17
4770
git 常用命令
1. 用户配置 2. 命令帮助 3. 流水线操作 4. 工作区文件添加到暂存区 5. 暂存区文件提交到版本库 6. 远程仓库配置 7. 拉取远程仓库 8. 分支管理命令 1. 用户配置 用户名和邮箱 # 全局配置用户名和邮箱git config --global user.name "编程笔记"git config --global user.email "754081611@qq.com"# 查看全局配置的用户名和邮箱git config --global user.namegit config --
很酷的站长
2022/12/04
4140
git 常用命令
git入门
工作区用于存储当前写的这些代码,暂存区存储将要提交上去的代码暂存区的代码还是可以撤回的,本地库存储的是每个历史版本的信息。
你的益达
2020/11/23
4120
git入门
Git入门教程分享
Git是一款免费、开源的分布式版本控制系统,GIT之父也是linux之父Linus。linux开源后参与贡献者众多,导致审查及合并、分发代码工作量过大,所以又花了一周时间开发了git。
jwangkun
2021/12/27
4620
Git入门教程分享
git学习总结02 — 版本控制
版本的前进后退本质是 HEAD 指针的移动,有三种移动指针进行版本控制的方式:索引、^、~。
CS逍遥剑仙
2020/05/30
1K0
Git 实战
完整的把远程库克隆到本地 克隆下来后不要在主分支里面做开发 clone进行一次,从无到有的过程,更新用pull
用户1212940
2020/03/18
6090
Git和Github之Git命令行操作
Git命令行操作 1、本地库初始化 命令: git add 效果: 注意:.git目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡乱修改。 2、设置签名 形式: 用户名:tom Email 地址:goodMorning@atguigu.com 作用:区分不同开发人员的身份 辨析:这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关系。 命令 项目级别/仓库级别:仅在当前本地库范围内有效 git config user.name tom_pro git config us
yuanshuai
2022/08/22
3680
Git和Github之Git命令行操作
git 常用操作总结
id_rsa 是私钥,id_rsa.pub 是公钥 id_rsa.pub 是你需要上传到 github 的 SSH KEY
leocoder
2024/02/01
1830
git 常用操作总结
GIT操作 之 常用指令(入门级)
接下来,我们简单捋一捋这个过程: 下行路程:作为小前端的我在本地电脑(工作区)上的一个文件夹下进行初始化git init,紧接着马不停蹄的撸了一把代码,保存为file.html ------------> 通过 add ,把file.html放到了暂存区 ------------> 然后又通过 commit,把file.html送到了本地仓库 ------------> 最后通过 push,把file.html推送到了远程仓库。
celineWong7
2020/11/05
7200
27.git的简单使用
安装 https://git-scm.com/downloads 一直点下一步就可以,安装完后打开方法:‘开始菜单’-->'Git'-->''Git Bash 安装完成后设置名字和电子邮件  bash
zhang_derek
2018/04/11
9330
27.git的简单使用
Git学习笔记
此篇笔记是学习参考廖雪峰老师的Git教程,附上学习网址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b806
闪电gogogo
2018/01/08
8760
Git学习笔记
git学习总结03 — 分支管理
merge 分支合并有 fast-forward 和 no-fast-forward 两种模式。下图 dev 合入 master,默认触发快进模式(fast-forward),因为只需要修改指针即可实现合并;而普通模式(no-fast-forward)需要生成一个新的commit,因此即使 dev 分支删除,也能从 master 分支历史上看出分支合并信息。
CS逍遥剑仙
2020/05/30
1.5K0
【Git系列】带你入门Git
Git是一个开源的分布式版本控制系统,可以用于项目版本管理,一般公司都会使用git+gitlab作为代码管理工具。
用户9913368
2022/08/13
5340
【Git系列】带你入门Git
重构谷粒商城07:Git一小时快速起飞指南
Git 是一种分布式版本控制系统,它能够跟踪文件的变化、管理代码的历史,并允许多人协作开发。Git 最早由 Linus Torvalds(Linux 操作系统的创建者)于 2005 年开发,目的是为了更高效地管理 Linux 内核的开发。
半旧518
2025/02/19
3112
重构谷粒商城07:Git一小时快速起飞指南
Git进阶笔记系列(01)Git核心架构原理 | 常用命令实战集合
Git是目前最流行的分布式代码版本管理平台,简单好用、稳定可靠的特性,得到行业广泛认可应用。尤其在可视化管理工具普及,以及集成到开发工具背景下,新手几乎不需要专门学习Git,通过了解几个简单按钮功能,就可以在工作当中轻松完成git管理代码提交、合并。
拉丁解牛说技术
2025/01/22
3041
使用Git与GitHub协同开发并搭建私有GitLab代码托管服务器
Linus在1991年创建了开源的Linux,从此全世界的工程师参与了Linux的开发,期初Linus是通过手动diff的方式进行代码审核和合并的,后来BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!如果当时BitMover公司专门为Linux发布一个社区版,也许这家公司也就名垂青史了,可是当时这家公司思想境界没那么高而且Linus也那么牛!
星哥玩云
2022/07/24
1.5K0
使用Git与GitHub协同开发并搭建私有GitLab代码托管服务器
常用Git命令手册
此文只是对Git有一定基础的人当记忆使用,比较简略,初级学员强烈推荐廖雪峰老师的Git系列教程,通俗易懂,戳此处即可开始学习
程序员飞飞
2020/02/27
5680
常用Git命令手册
Git & GitHub & GitLab 超全面学习笔记 -- 匠心之作
思想:版本控制 实现:版本控制工具 集中式版本控制工具:   CVS、SVN、VSS ……
黑泽君
2019/01/28
3K0
代码管理| 全面了解Git使用相关
要想弄明白git add和git commit的区别,首先我们需要知道三个概念:工作区(Working Directory)、版本库(Repository)、暂存区(Stage or index)。
進无尽
2018/09/12
9900
代码管理| 全面了解Git使用相关
相关推荐
Git命令大全
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文