0%

git-commit

1. 添加文件到索引

1
2
3
4
5
6
7
# 添加文件到仓库
# -f 强制添加 ignore 的文件
# -u 只添加修改的文件
git add ${file_path}
# 添加所有文件
# . 也可以使用 --all, -A 代替
git add .

2. 推送代码

1
2
3
4
# 推送前需要先获取并合并远程代码更新内容
# -u 用于第一次推送时, 将当前代码分支与远程代码分支建立追踪关系.
# -u 也可用手动方式建立关联
git push -u origin master

3. 本地dev提交到远程dev分支

1
git push origin dev:dev

4. 记录仓库变更

1
2
3
# -m 必填项, 提交内容的注释
# 此时只是记录本地仓库的变更, 需要推送的远程仓库
git commit -m ${commit_msg}

5. 查看变更日志

1
2
3
4
5
# 查看变更日志
# 日志内容有 commit-id, author, date, commit-msg
git log

git log --graph --pretty=oneline --abbrev-commit

6. 解决冲突

1
2
3
4
5
6
7
# 存入草稿
git stash
# 获取并合并远程仓库更新
git pull
# 取出草稿, git会自动合并
# 需要手动修改冲突
git stash pop

7. 查看改动差异

1
2
3
4
5
# 默认与 Head 比较, 显示差异
git diff ${patch_id}

# 显示摘要而非整个 diff
git diff --stat

8. 文件回滚

1
2
3
4
5
6
7
8
# 回退单个文件
git reset ${commit_id} ${file_path}
# 指定文件路径回滚
# 默认回滚到 Head
git chekcout -- ${file1} ${file2} ${file3}
git checkout .
git checkout HEAD .
git checkout HEAD ${file}

9. 回退某次提交

1
2
# 若已提交到远程仓库, 需要回退本次提交
git revert ${commit_id}

10. 合并本地 commit

1
2
3
# 软重置到最早的 commit-id, 并保持文件的修改
git reset --soft ${latest_commit-id}
# 之后重新提交