指令全集
Log操作
- 查看日志
git log
- 查看最近2次提交日志并显示文件差异
git log -p -2
- 显示已修改的文件清单
git log --name-only
- 显示新增、修改、删除的文件清单
git log --name-status
- 一行显示并只显示SHA-1的前几个字符
git log --oneline
Alias
- 别名设置
- 可以在配置文件 ~/.gitconfig 中查看或直接编辑
git config --global alias.c commit
通过创建命令别名可以减少命令输入量。
git config --global alias.c commit
可以在配置文件 ~/.gitconfig 中查看或直接编辑
下面是一个Git命令Alias配置
[alias]
a = add .
c = commit
s = status
l = log
b = branch
现在可以使用 git a
实现 git add .
一样的效果了。
系统Alias
在 ~/.bash_profile
文件中定义
alias gs="git status"
alias gc="git commit -m "
alias gl="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit "
alias gb="git branch"
alias ga="git add ."
alias go="git checkout"
命令行直接使用 gs
即可以实现 git status
一样的效果了。
window 系统需要使用 git for window 中的
Git Base
软件.gitignore.gitignore用于定义忽略提交的文件
- 所有空行或者以注释符号
#
开头的行都会被 Git 忽略。 - 匹配模式最后跟反斜杠(
/
)说明要忽略的是目录。 - 可以使用标准的 glob 模式匹配。
.idea
/vendor
.env
/node_modules
/public/storage
*.txt
Branch
分支用于为项目增加新功能或修复Bug时使用。
创建分支
git branch dev
查看分支
git branch
切换分支
git checkout dev
创建并切换分支
git checkout -b feature/bbs
合并dev分支到master
git checkout master git merge dev
删除分支
git branch -d dev
删除没有合并的分支
git branch -D dev
删除远程分支
git push origin :dev
查看未合并的分支(切换到master)
git branch --no-merged
查看已经合并的分支(切换到master)
git branch --merged
冲突
不同分修改同一个文件或不同开发者修改同一个分支文件都可能造成冲突,造成无法提交代码。
- 使用编辑器修改冲突的文件
- 添加暂存
git add .
表示已经解决冲突 - git commit 提交完成
当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。
"暂存" 可以获取你工作目录的中间状态——也就是你修改过的被追踪的文件和暂存的变更——并将它保存到一个未完结变更的堆栈中,随时可以重新应用。
- 储藏工作
git stash
- 查看储藏列表
git stash list
- 应用最近的储藏
git stash apply
- 应用更早的储藏
git stash apply stash@{2}
- 删除储藏
git stash drop stash@{0}
- 应用并删除储藏
git stash pop
Tag
Git 也可以对某一时间点上的版本打上标签 ,用于发布软件版本如 v1.0
- 添加标签
git tag v1.0
- 列出标签
git tag
- 推送标签
git push --tags
- 删除标签
git tag -d v1.0.1
- 删除远程标签
git push origin :v1.0.1
发布
对mster分支代码生成压缩包供使用者下载使用,--prefix
指定目录名
git archive master --prefix='hdcms/' --format=zip > hdcms.zip