1. clone
// 克隆仓库
git clone [URL]
2. status
git status;
3. 添加/移除文件
git add [FILE];
git rm [FILE];
git rm --cached -r [FILE];
git reset HEAD [FILE];
git update-index --assume-unchanged [FILE];
git update-index --no-assume-unchanged [FILE];
git update-index --skip-worktree [FILE];
git update-index --no-skip-worktree [FILE];
4. git使用
git commit;
git commit -m ["COMMENT"];
git pull;
git push;
5. 分支
git branch;
git branch [BRANCH];
git checkout -b [BRANCH];
git checkout [BRANCH];
git branch -d [BRANCH];
git push origin --delete [REMOTE_BRANCH];
git merge [BRANCH];
git stash;
git stash save ["COMMENT"];
git stash list;
git stash pop;
git stash apply;
git stash drop [STASH];
git stash clear;
6. 标签
// 查看已有标签
git tag
// 创建标签
git tag [TAG]
// 删除标签
git tag -d [TAG]
// 查看此版本所有的修改内容
git show [TAG]
7. 覆盖本地代码操作
> 将'Local origin/master'库(本地版本)覆盖为与'Remote origin/master'库(远程版本)一致
git fetch --all;
> 将本地代码重置为与'Local origin/master'库(本地版本)
git reset --hard origin/master;
> 更新
git pull;
8. 合并多个commit
> 查看commit记录
git log;
> 根据输入的'commit hash'合并(不包含'START_COMMIT',包含'END_COMMIT',不输入'END_COMMIT'时合并到最后)
git rebase -i [START_COMMIT] [END_COMMIT];
> 编辑指令:
p, pick: 保留该commit;
r, reword: 保留该commit, 但是需要修改该commit的注释;
e, edit: 保留该commit, 但是需要修改该commit;
s, squash: 将该commit和前一个commit合并;
f, fixup: 将该commit和前一个commit合并, 但不保留该commit的注释;
x, exec: 执行shell命令;
d, drop: 丢弃该commit;
> 合并注释信息
9. cherry-pick
// 将某分支的某次提交合并到当前分支
git cherry-pick [COMMIT]
// 将某分支的最近一次提交合并到当前分支
git cherry-pick [BRANCH]
// 将多个提交合并到当前分支
git cherry-pick [COMMIT1] [COMMIT2]
// 将两个提交之间的多个提交合并到当前分支(不包含'START_COMMIT',包含'END_COMMIT',不输入'END_COMMIT'时合并到最后,'START_COMMIT'必须早
于'END_COMMIT',否则命令无效,不报错)
git cherry-pick [START_COMMIT]..[END_COMMIT]
yoojyn - 博客园