Git Syntax
Git Syntax
Git Workflow
Git Version Control Rules
- Commit related changes
- Test code before you commit
- Use branches
- Commit often
- Write good commit messages
- Agree on a workflow
- Don’t commit half-done work
- Version control is not a backup system
Syntax Cheat Sheet
Original syntax | Alias | Purpose |
---|---|---|
git help <command> |
N/A | 获得命令的帮助指南 |
CREATE | ||
git init |
N/A | Git仓库初始化 |
git clone <address> |
N/A | 克隆一个现存的库 |
LOCAL CHANGES | ||
git add <file> |
ga <> | 添加指定文件 |
git add --all / git add . |
gaa | 添加所有修改文件 |
git commit -m "info" |
gcmsg “” | 提交文件到仓库 |
git commit --amend |
N/A | 修改上一次commit内容 |
git status |
gst | 检查仓库当前状态 |
git status -sb |
gsb | 精简检查仓库状态 |
git diff |
gd | 查看修改内容 |
git diff HEAD -- <file> |
N/A | 查看工作区与版本库的区别 |
COMMIT HISTORY | ||
git log |
glg / g lg | 查看历史记录 |
git reflog |
N/A | 记录每一次命令,可以查要回到未来的版本 |
git blame <file> |
N/A | 查看指定文件的更改记录 |
UNDO | ||
git reset --hard <HEAD^> |
grhh <> | 回退到指定版本(commit id) |
git reset HEAD <file> |
grh HEAD <> | 将暂存区的修改撤销,放回工作区 |
git checkout -- <file> |
gco – <> | 撤销最近一次修改 |
BRANCHES & TAGS | ||
git checkout -b <branchname> |
gcb <> | 创建一个分支并直接切换到该分支 |
git checkout <branchname> |
gco <> | 切换到一个分支 |
git branch |
gb | 查看当前分支 |
git branch <branchname> |
gb <> | 创建一个分支 |
git branch -d <branchname> |
gbd <> | 删除一个分支 |
git branch -D <branchname> |
N/A | 强制删除一个分支 |
git merge <branchname> |
gm <> | 合并分支 |
git merge --no--ff -m "info" <b> |
N/A | 合并分支并禁用Fast forward |
git tag <v1.0> |
N/A | 打一个新标签 |
git tag |
N/A | 查看素有标签 |
git tag <v1.0> <commit id> |
N/A | 给指定历史提交的commit打标签 |
git tag -a <v> -m "info" <cid> |
N/A | 打标签的同时增加说明文字 |
git show <tagname> |
N/A | 查看标签信息 |
git tag -d <v1.0> |
N/A | 删除指定本地标签 |
STASH | ||
git stash |
N/A | 将工作区内容储藏起来 |
git stash save "info" |
gsta “” | 将工作区内容储藏起来,并加注释 |
git stash list |
gstl | 查看stash列表 |
git stash pop |
gstp | 恢复最顶层暂存区并删除 |
git stash apply <stash@{0}> |
gstaa <> | 恢复指定暂存区 |
git stash drop <stash@{0}> |
gstd <> | 删除指定暂存区 |
UPDATE & PUBLISH | ||
git remote -v |
grv | 查看远程库信息 |
git push <orgin master> |
gp <> | 推送到远程服务器 |
git push orgin master |
gpom | 推送到远程master分支 |
git pull |
gl | 抓取最新更新 |
gcb <branch> origin/<branch> |
N/A | 在本地创建与远程分支对应的分支 |
gb --set-upstream-to <> origin/<> |
ggsup | 建立本地分支与远程分支的链接关系 |
git branch -dr origin/<branch> |
N/A | 删除远程指定分支 |
git push origin :refs/tags/v1.0 |
N/A | 删除远程指定标签 |
git push origin <tagname> |
N/A | 推送指定本地标签到远程 |
git push origin --tags |
N/A | 推送全部本地标签到远程 |
git check-ignore -v <file> |
N/A | 检查忽略规则 |
.gitignore
将需要忽略的文件添加进 .gitignore
生成SSH Key
一般生成在 ~/.ssh
目录下1
2ssh-keygen -t rsa -f youtkeyname.key //-f 指定生成的密钥文件名字
ssh-keygen -t rsa -C "youremail@example.com" //-C 提供一个注释
创建新仓库 & 关联本地仓库
- 先在GitHub上创建新respository后直接克隆到本地 (推荐方法)
1 | git clone git@github.com:Username/projectname.git |
- 与本地创建的本地仓库关联
1 | git remote add origin git@github.com:Username/projectname.git |
云主机SSH快捷设置
在 ~/.ssh/config
中设置1
2
3
4Host hostName
User user_name
HostName xxx.xxx.xxx.xxx // IP address
IdentityFile ~/.ssh/your_private_key // private key position, if needed
在 ~/.ssh/known_hosts
里存的信任ssh服务器列表
Author: Min Gao
如需转载或引用, 请标注出处。