Git 简易教程(基本概念+常用命令)

目录
一、工具
二、概念
三、常用linux命令
四、git子命令

一、工具

1、git bash
https://git-scm.com/downloads(网页自动检测PC系统版本,直接下载即可)
2、编辑器(如vi、sublime)
在系统变量中,添加.exe文件绝对路径,即可在CLI中,使用subl命令,打开指定文件。


二、概念

1、版本控制仓库——分布式 vs 集中式
(1)分布式(git)
概念:每个主机都独立的仓库(本地库),也有网络仓库(远程库)。联网情况下,远程库可以同步本地库;无网络情况下,只用本地库进行版本控制,也是可以的,但是会不利于团队协作开发。
例:网游中的仓库概念(公会仓库、个人仓库)。
(2)集中式(svn)
概念:只存在远程库,无网络情况下,毫无作用。

PS:建议使用分布式。

2、版本控制
(1)概念
开发项目期间,对不同阶段的项目,进行备份管理,以便版本回退。
(2)例:系统备份、吃后悔药

3、配置全局用户信息
(1)概念
分布式类似去中心化(抖音、头条等),每人都要有相应的注册信息,标识身份。
(2)实现
使用如下命令,在home目录(windows系统即是C:\Users\Administrator)下的.gitconfig文件中,保存全局信息,相当于为所有仓库打上标识:
git config --global user.email "123456789@xxx.com"
git config --global user.name "xxxx"

4、本地仓库基本操作

本地仓库基本操作.png

5、过滤提交文件
在项目文件夹中,创建.gitignore文件,内部填写,不需要提交到仓库的文件名,如:

.txt
!a.js
/test/
/.js

意味着git add .时,不会添加.txt、a.js、test子目录下的.js。

6、分支管理
(1)概念
主分支(master)——项目总进度,产品经理控制;侧分支——功能进度,组长控制。
(2)好处
所有人并行开发,缩短项目周期。
(3)不要在主分支上,进行开发
某个功能由特定程序员小组完成,那么小组对应的侧分支,就相当于小组的主分支(dev)。因此,开发时,应该新建另一条分支,完成后合并到dev,再合并到master。(可以按需细分更多小分支)
(4)例:厨房的洗碗工、打荷工、主厨,同时工作,最后交给服务员上菜。

7、分支冲突
(1)冲突因果
两条侧分支都修改了同一文件,分支A先合并到主分支,分支B后合并到主分支,此时产生冲突。
(2)解决方法
在编辑器中,手动编辑。

8、临时储存分支工作进度
正在某分支上开发,并且进行了add / commit操作。此时,需要切换到其他分支,进行开发。由于分支进度没有合并到分支,不能随意切换,应该先将当前分支进度,保存到临时储存区中,才能切换分支。

9、分支标签
分支功能经过测试,证实稳定性后,才应该打标签。

10、侧分支合并前,确保侧分支的commit点,位于主分支的最新commit点,以便主分支管理者,合并侧分支的流畅性。


三、常用linux命令

命令 作用
ls 列出当前目录下,所有文件
ls -a 列出当前目录下,所有文件(包含隐藏文件)
ll 列出当前目录下,所有文件(以列表形式)
pwd 显示当前绝对路径
mkdir xxx 新建文件夹
touch xxx 新建文件
cd 定位到home目录(windows即是C:/user/Administrator)
cd .. 定位到上级目录
cd xxx 定位到下级目录
rm -rf xxx 删除文件(慎用)
cat xxx 打印文件内容
vi xxx 使用vi,编辑文件
vim xxx 使用vim,编辑文件

四、常用git子命令

命令 作用
git init 创建本地仓库
git clone 复制远程仓库(应用于无本地仓库的目录)
git add 添加文件,到待提交区
git mv xxx 重命名待提交区的文件
git status 查看项目add情况
git commit -m "xxx" 提交已add的文件,到本地仓库
git commit --amend 修改最近一次commit描述
git rm xxx 删除仓库文件(同时删除项目文件)
git rm --cached xxx 撤回仓库、待提交区的文件(首次commit后)
git reset xxx 撤回仓库、待提交区的文件(二次commit后)
git log 打印commit日志
git log -p 打印commit日志(详细)
git checkout -- xxx 回退项目文件版本(仓库当前版本)
git config --global alias.x xxx 子命令别名(如:git a代替git add)
git branch 查看所有本地分支(*代表当前分支)
git branch -a 查看所有分支,包含远程分支
git branch xxx 新建分支
git checkout xxx 切换分支
git checkout -b xxx 新建且切换分支
git merge xxx 合并分支,到当前分支
git branch -d xxx 删除分支(未合并的分支,无删除权限)
git branch -D xxx 强行删除分支
git branch --merged 查看已合并的分支
git branch --no-merged 查看未合并的分支
git stash 将当前分支进度,放到临时储存区
git stash list 查看所有临时储存(带标识)
git stash apply 将临时储存,恢复到当前分支(不清除临时储存)
git stash pop 将临时储存,恢复到当前分支(清除临时储存)
git stash drop xxx 删除指定标识的临时储存
git tag 查看当前分支所有版本标签
git tag xxx 设置分支当前版本标签
git archive master --prefix='xxx' --forma=zip > xxx.zip 将master分支的commit内容,压缩成zip格式
git rebase master 将侧分支的commit点,移动到主分支最新的commit点
git remote add origin xxx 关联远程仓库
git remote -v 打印已关联的远程仓库
git pull 拉取远程master的最新内容
git push -u origin master 推送本地master到远程master,且记录,下次推送可以直接git push
git push --set-upstream origin xxx 推送本地侧分支,到远程相对应的侧分支
git push origin --delete xxx 删除远程分支
git pull 拉取远程master的最新版本
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343