Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Git 工作流

克隆

git clone <url>

查看状态

查看当前分支状态

这会输出当前分支的状态和暂存区状态等状态.

git status

注意查看当前位于的分支,如果是刚克隆的仓库,默认是main分支。

有时你不被允许修改main分支,这时你需要切换到其他分支

查看提交历史

这一般用来查看历史提交记录.

git log

切换分支

切换到指定分支

git checkout <branch>

暂存区

暂存区是存放待提交的修改的地方. 类似于一个未封装的快递盒.

添加文件到暂存区

git add <file1> <file2> ...

类似于将东西放入盒子.

添加文件夹到暂存区

git add <folder>

类似于将一堆东西放入盒子.

.gitignore文件

有时你不想让git管理某些文件,比如临时文件, 编译生成的文件或者占用很大的视频文件, 又或者你不想让别人看到你的密码文件.

你可以在.gitignore文件中添加一些忽略规则,这样git就不会管理这些文件.

更多关于.gitignore文件的用法请参考官方文档.

以下是最简单的.gitignore文件:

# 忽略a.txt文件
a.txt
# 忽略所有.mp4后缀的文件
*.so
# 忽略build文件夹里的所有文件
build/

💡: #开头的行是注释, 可以去掉

提交

把暂存区的修改和提交信息封装为一个commit. 类似将快递盒贴上封条,并贴上相关便条.

快速提交

如果第一次提交,见配置用户名和邮箱

git commit -m "<message>"

可视化提交

这会在当前终端用$EDITOR1打开一个临时文件来输入提交信息.

git commit

配置用户名和邮箱

如果你从未配置过用户名和邮箱, git 会不知道你是谁,会在提交时报错, 并提示你像如下进行配置.

类似于封装快递时,要求你填上寄件人和你的联系地址.

git config --global user.name "<name>"
git config --global user.email "<email>"

配置好后请再次提交

拉取

从远程仓库拉取最新代码和变更到本地.

git pull

推送

代码推送容易犯错,请谨慎操作!

进行代码推送前,请先进行查看状态拉取操作, 确保在正确的分支并先同步了别人的更改.

推送到默认上游分支

把本地的提交推送到默认上游分支.

如果你从未设置过默认上游分支,请换用推送时设置默认上游分支

git push

详细推送到指定分支

有时你的仓库可能不只一个remote仓库, 或者你没有设置默认上游分支. 你可以指定推送到哪个远程仓库和分支.

如果你不指定<remote><branch>,那默认是提交到默认上游分支, 就像推送到默认上游仓库

git push <remote> <branch>

推送时设置默认上游分支

这一般发生在首次推送代码时, 这会提交代码到指定远程仓库的指定分支,并同时设置该分支默认上游分支.

git push -u <remote> <branch>

设置后,当前分支会记住你上一次推送的位置, 下次你只需要使用git push就可以推送到默认上游分支.


  1. $EDITOR 是当前环境变量指定的文本编辑器, 通常是 nano 或 vi .