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就可以推送到默认上游分支.
-
$EDITOR 是当前环境变量指定的文本编辑器, 通常是 nano 或 vi . ↩