[转]git教程
本文转自:git教程 | GeekHour
Git 读音为/git/ ,是一个开源的分布式版本管理系统,是Linux Torvalds为了帮助管理Linux内核开发而开发的一个版本控制软件。
git 和svn的区别:
1 工作原理
1.1 git的四个工作区域
- 远程仓库:Github、Gitee、GitLab,存储在远程服务器上的仓库。
- 本地仓库:git clone或者git init之后存储在本地的仓库,HEAD指向最新放入仓库的版本。
- 暂存区:也叫待提交更新区,存放临时变动,本质上是文件,保存即将提交的文件列表。
- 工作区:也叫工作目录,本地工作目录
1.2 git的文件状态
-
未跟踪(Untracked):文件在本地,未添加到git仓库,不参与版本控制,执行
git add
后 状态变为Staged
。 -
未修改(Unmodified):文件已入库,未修改,即版本库中的快照内容与本地文件一致。修改后转为
Modified
,执行git rm
后移出版本库,变为Untracked
-
已修改(Modified):文件已入库,已修改,即版本库中的快照内容与本地文件不一致。使用
git checkout
则丢弃修改,返回Unmodified
状态,git add
后进入暂存Staged
状态。 -
暂存(Staged):暂存状态,执行
git commit
则修改同步到本地库中,文件变为Unmodified
状态,执行git reset HEAD filename
取消暂存,文件变为Modified
状态可以使用
git status [filename]
来查看指定文件的状态。
1.3 本地工作流
你的本地仓库由 git 维护的三棵“树”组成。第一个是你的 工作目录
,它持有实际文件;第二个是 缓存区(Index)
,它像个缓存区域,临时保存你的改动;最后是 HEAD
,指向你最近一次提交后的结果。
1.4 分支
分支是用来将特性开发绝缘开来的。在你创建仓库的时候,master 是“默认的”。master分支应该非常稳定,用来发布新版本,一般情况下不允许在上面工作,一般会新建dev分支进行开发,dev分支代码稳定后再将它们合并到master分支上。
1.5 需要记住的命令
2 常用操作
全局配置:
1
|
git config --global user.name "username"
|
新建仓库:
1
|
mkdir vuecli_sample
|
已有仓库
1
|
cd existing_git_repo
|
2.1 配置
1
|
# 设置
|
2.2 创建仓库
两种方式:
1
|
# 创建一个新的仓库
|
2.3 本地提交
1
|
# 添加到Stage
|
2.4 推送改动
1
|
# 将本地改动提交到远端仓库,origin和master分别为默认的仓库名和分支名称
|
2.5 分支操作
1
|
|
2.6 更新与合并
1
|
# 要更新你的本地仓库至最新改动,执行:
|
2.7 标签
1
|
# 在软件发布时创建标签,是被推荐的。这是个旧有概念,在 SVN 中也有。可以执行如下命令以创建一个叫做 1.0.0 的标签:
|
2.8 日志
1
|
git log
|
2.9 diff
1
|
git diff ver1..ver2 [filename]
|
2.10 替换本地改动(慎用,未提交的本地修改内容可能丢失)
1
|
# 假如你做错事,你可以使用如下命令替换掉本地改动:
|
2.11 git reset
git reset 的三种模式soft
,mixed
,hard
:
2.12 gitignore
在.gitignore文件中配置不需要提交到版本库进行管理的文件
1
|
# Class file
|
删除远程仓库文件
如果要删除的文件已经被git跟踪,那么即使添加到.gitignore也是没有用的,
具体操作步骤:
- 预览将要删除的文件
加上-n
表示只是展示,不会删除任何文件
1
|
git rm -r -n --cached filename
|
- 确定无误后删除文件:
1
|
git rm -r --cached filename
|
- 提交到本地并推送到远程服务器
1
|
git commit -m "提交说明"
|
- 修改本地.gitignore文件并提交
posted on 2024-03-08 20:04 freeliver54 阅读(3) 评论(1) 编辑 收藏 举报