基本操作
介绍在 sourcetree 下进行git的几个基本操作的方式,顺便熟悉一下 sourcetree 的界面。
背景:我们建立了一个名为 gitdemo 的空仓库,从零开始,展示日常开发中的基本操作。
克隆仓库
此时在 sourcetree 中看到的是一个空的仓库,没有任何文件。
新增文件
在本地根目录下新建文件 a.txt, 内容如下:
aaaaaaaaaa10
aaaaaaaaaa20
aaaaaaaaaa30
aaaaaaaaaa40
aaaaaaaaaa50
在 sourcetree 中看到的是:
- "Staged files": 已经修改并stage的文件
- "Unstaged files": 列出的是当前仓库中未被 git 跟踪或者有修改而没有stage的文件,点击每个文件可以在右边看到内容
点击右边的 "Stage Hunk" 按钮可以将当前选中的文件加入到 "Staged files" (或者用"Stage All" / "Stage Selected" 按钮):
注: 等同于命令行下的 "git add a.txt" 命令
如果发现有错误添加文件,可以在 "Staged files" 中选中该文件,然后选"Unstage Selected", 或者右边的 "Unstage hunk"按钮。
同样在点击 "Staged files" 列表中的每个文件时,右边会出现当前这个文件的修改情况。在这里可以非常方便的看到当前已有的文件修改有哪些内容。
提交修改
文件修改完成,就可以提交了,在下方输入当前提交的comments,点击 "Commit" 就可以将 "Staged files" 列表中的所有修改提交:
注: 等同于命令行下的 `git commit -m "your comments" 命令
提交完成后,可以看到本次提交的详细情况:
最佳实践:
- 每次提交之前,尽量逐个检查 "Stage files" 列表中的每个文件,确保每个文件都是你真的准备提交的,避免因为错误操作提交了不应该提交的文件
- 每次提交之前,尽量逐个检查 "Stage files" 列表中的每个文件,检查每个文件的修改内容是否OK,避免低级失误,比如不小心改动了文件却忘了改回来
- 每次提交的comment内容,务必能准确的描述了这次提交干了什么,以便未来方便浏览
push/推送
提交完成之后,开始推送到远程仓库, 点击工具栏中的 "Push" 按钮(或者"Repository" -> "Push"):
提交完成的情况:
仔细对比 Push 前后这个提交的详细情况:
push 后:注意三个红色框的内容
push 前
pull
注:为了演示pull,我们在gitlab的web界面上做了一个增加新文件的操作,增加了文件 b.txt
点击工具栏中的 "Pull" 按钮(或者"Repository" -> "Pull"):
为了看到 Pull 的详细情况,我们勾选了"Show Full Output":
在没有冲突的情况下,pull操作很简单的完成了,远程仓库的新的提交被pull下来,体现在 sourcetree 中就是提交列表中增加了一个新pull下来的提交。然后本地分支的内容得以更新,体现为本地文件中增加了一个 b.txt 文件: