基础命令
设置用户信息
1 2
| git config --global user.name "你的名字" git config --global user.email "你的邮箱"
|
查看用户信息
1 2
| git config --global user.name git config --global user.email
|
命令升级
创建.bashrc文件
在其中输入
1 2
| alias git-log='git log --pretty=oneline --all --graph --abbrev-commit' alias ll='ls -al'
|
1
| alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
|
- 定义了一个别名
git-log
,它代表了一个更复杂的 git log
命令
- 这个别名的作用是显示一个压缩过的 Git 日志,使用单行输出,展示所有分支的提交历史,并且使用图形化的方式显示分支和合并情况。具体的参数解释如下:
--pretty=oneline
: 每个提交显示在一行
--all
: 显示所有引用,包括分支、标签等
--graph
: 用 ASCII 图形显示提交历史的分支结构
--abbrev-commit
: 使用简短的提交哈希(而不是完整的哈希值)
- 定义了一个别名
ll
,它代表了 ls -al
命令
- 这个别名的作用是列出当前目录中的所有文件(包括隐藏文件),并显示详细的文件信息(权限、所有者、文件大小、修改时间等)
基础操作指令
1 2 3 4 5 6 7 8 9
| git add . (提交所有)
git commit -m *"add file01"* (描述,注释的作用)
git log [option] --all 显示所有分支 --pretty=online 将提交信息显示为一行 --abbrev-commit 使得输出的commitld更简短 --graph 以图的形式显示
|
查看文件状态
说明
- 用于显示当前 Git 仓库的状态,特别是工作目录和暂存区中的文件的状态。它可以告诉你哪些文件被修改了、哪些文件被暂存(staged)准备提交、哪些文件未被跟踪(untracked),以及哪些文件有冲突
常见的输出信息
- Changes to be committed: 暂存区中的文件,这些文件已经准备好被提交
- Changes not staged for commit: 被修改但还没有加入暂存区的文件
- Untracked files: 未被 Git 跟踪的新文件
版本回退
Git恢复之前版本的两种方法reset、revert(图文详解)_git回退到某个版本
将多条commit合并
- 查看想要合并的记录
- 例如: fix:修复了一个bug (最新),feat(Controller):开发了个人信息接口。假设你想要把第一个commit合并到第二个中
执行命令后
- Git 会在文本编辑器中列出最近的两次提交,每一行显示一个提交以及它的操作选项,通常是
pick
,表示保留这个提交
可选择的操作
pick
:保留该提交(默认操作)
reword
:保留提交但修改提交信息
edit
:停止在这个提交点,以便你可以在此基础上进行修改
squash
:将该提交与前一个提交合并,并使用前一个提交的信息
fixup
:将该提交与前一个提交合并,但会丢弃该提交的信息
drop
:删除该提交
1 2 3 4 5 6 7 8 9 10 11 12
| 在最上面会出现这两行 pick 7f49a9e feat(Controller):开发了个人信息接口 pick 1dcbb63 fix:修复了一个bug 把你想要合并的commit的pick改为s或squash,即 pick 7f49a9e feat(Controller):开发了个人信息接口 s 1dcbb63 fix:修复了一个bug 保存退出 在接下来的编辑器中将被合并的记录删除,即:fix:修复了一个bug 保存退出 如果出现冲突,则需要解决;如果出现Successfully rebased and updated ,则没有冲突出现 最后使用git push --force命令将代码强行push到远程仓库 可以使用git log查看是否成功合并
|
.gitignore
该文件用于指定哪些文件或目录应该被 Git 忽略,不被纳入版本控制中
example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| .DS_Store .idea __debug_bin !*.example /config.yaml *.log /.vscode /.env /.envrc /release /data /custom /.custom /run.sh cacert.pem
|
分支
命令
- 显示当前所有的分支列表,并标记出当前所在的分支(通常用
*
标记)
- 这条命令可以让你查看有哪些分支存在,以及你当前所在的分支
- 创建一个新的分支,但不会自动切换到新分支
- 例如,
git branch feature
会创建一个名为 feature
的新分支,但你仍然留在当前分支上
- 切换到指定的分支
- 例如,
git checkout feature
会切换到 feature
分支,使得该分支成为当前操作的分支
- 创建一个新分支并立即切换到该分支,相当于
git branch <名字>
和 git checkout <名字>
的组合操作
- 例如,
git checkout -b feature
会创建一个名为 feature
的新分支,并自动切换到这个分支
- 将指定分支的更改合并到当前分支
- 例如,
git merge feature
会将 feature
分支的更改合并到你当前所在的分支上。合并操作可能会引发冲突,需要手动解决后再提交。在合并完成后,默认会进入编辑器让你输入合并信息,通常用 :wq
退出编辑器
- 删除指定的分支,但只有在该分支的更改已被合并到其他分支时,删除操作才会成功
- 例如,
git branch -d feature
会尝试删除 feature
分支,但如果 feature
分支上有未合并的更改,Git 会拒绝删除操作,除非你强制删除
- 强制删除指定的分支,即使该分支上有未合并的更改
- 例如,
git branch -D feature
会强制删除 feature
分支,不管它是否已被合并或包含未合并的更改。此操作不可逆,需要谨慎使用
分支管理规范
大厂git分支管理规范
commit规范
commit规范
Github远程仓库与本地链接
github——git本地仓库建立与远程连接