Description
- 范例
0.1 [] 表示可选
0.2 COMMENT 表示任意注释
0.3 PATH/TO/FILE 表示文件路径
0.4 SHA 标识提交或合并的 SHA-1 值
0.5 BRANCH_NAME 标识为自己的分支名
0.6 以 git 开头的为命令行操作,以 TGit 开头的为桌面操作
0.7 操作如果为分页模式,输入 q 退出
0.8 操作如果为 vim 编辑界面,输入 :wq 提交编辑
0.9 单击和双击均指主键(一般为左键)
- 查看更新
1.1 查看更新文件列表
git status 或 git diff-files(未 add,可查看文件权限变化)
TGit:单击右键 -- TortoiseGit -- Check for modifications
1.2 查看文件更改内容
git diff HEAD PATH/TO/FILE
TGit:单击右键 -- TortoiseGit -- Check for modifications -- 双击相应文件
1.3 查看所有更改内容
git diff HEAD
- 本地提交
2.1 只修改了现有文件
git commit -am "COMMENT"
TGit:单击右键 -- Git Commit -> "BRANCH_NAME" -- 在 Message 下填写注释 -- OK
2.2 添加了新文件
git add .
git commit -m "COMMENT"
TGit:单击右键 -- Git Commit -> "BRANCH_NAME" -- 勾选添加的文件(或点击 All 全选),在 Message 下填写注释 -- OK
2.4 修改提交
[git add [-A] .]
git commit --amend -[a]m "COMMENT"
TGit:单击右键 -- Git Commit -> "release" -- 勾选 Amend Last Commit -- OK
2.5 查看提交的更新文件列表
git diff --name-status HEAD^1 HEAD
TGit:单击右键 -- TortoiseGit -- Show log -- 单击对应提交
2.6 查看提交的单个文件更新
git diff HEAD^1 HEAD PATH/TO/FILE
TGit:单击右键 -- TortoiseGit -- Show log -- 单击对应提交 -- 双击对应文件
2.7 查看提交的所有文件更新
git diff HEAD^1 HEAD
2.8 还原提交
2.8.1 提交未上传
git reset [--hard|--soft] HEAD^1
TGit:TortoiseGit -- Show log -- 右键单击对应提交 -- reset "BRANCH_NAME" to this... -- 选择 Hard|Soft|Mixed -- OK
2.8.2 提交已上传
git revert SHA
TGit:单击右键 -- TortoiseGit -- Show log -- 右键单击对应提交 -- Revert Change by this commit -- OK
单击右键 -- Git Commit -> "BRANCH_NAME" -- OK
- 把自己分支合并到 release
3.1 查看合并的更新文件列表
git diff --name-only HEAD^1 HEAD
TGit:单击右键 -- TortoiseGit -- Show log -- 单击对应合并
3.2 查看合并的单个文件更新
git diff HEAD^1 HEAD PATH/TO/FILE
TGit:单击右键 -- TortoiseGit -- Show log -- 单击对应合并 -- 左键双击对应文件
3.3 查看合并的所有文件更新
git diff HEAD^1 HEAD
3.4 产生冲突的文件并非自己修改过的
git checkout --ours PATH/TO/FILE
git add PATH/TO/FILE
TGit:单击右键 -- TortoiseGit -- Resolve -- 单击选择相应文件(可按 Shift 或 Ctrl 进行多选) -- 点击右键 -- 单击 Revert 或单击 Resolved conflit using 'mine'
3.5 合并结果中包含非自己修改过的文件
3.5.1 同时存在冲突
git reset PATH/TO/FILE
git checkout -- PATH/TO/FILE
git commit -m "COMMENT"(解决冲突后)
TGit:单击右键 -- TortoiseGit -- Check for modifications -- 单击选择相应文件(可按 Shift 或 Ctrl 进行多选) -- 点击右键 -- 单击 Revert
3.5.2 不存在冲突
git checkout HEAD^1 PATH/TO/FILE(该文件为修改或删除)
rm PATH/TO/FILE(该文件为新增)
git commit --amend -m "COMMENT"
TGit:单击右键 -- TortoiseGit -- Show log -- 单击对应合并 -- 单击对应文件(可按 Shift 或 Ctrl 进行多选) -- 点击右键 -- 单击 Revert to parent revision(该文件为修改或删除)
单击右键 -- TortoiseGit -- Show log -- 单击对应合并 -- 单击对应文件 -- 点击右键 -- Explore to -- 删除文件(该文件为新增)
单击右键 -- Git Commit -> "release" -- 勾选 Amend Last Commit -- 单击 OK
3.6 还原合并
3.6.1 合并未上传
git reset --hard HEAD^1
TGit:TortoiseGit -- Show log -- 右键单击对应提交 -- reset "BRANCH_NAME" to this... -- 选择 Hard -- OK
3.6.2 合并已上传
git revert -m 1 SHA
TGit:单击右键 -- TortoiseGit -- Show log -- 右键单击对应提交 -- Revert Change by this commit -- parent1 -- OK
单击右键 -- Git Commit -> "BRANCH_NAME" -- OK
- 开发协作
4.1 在别人开发基础上继续,但对应开发未上传至product
git checkout -b BRANCH_NAME SHA(SHA 为别人合并到 release 前的最后一次提交)
TGit:单击右键 -- TortoiseGit -- Show log -- 单击对应提交(同上) -- 点击右键 -- Create Branch at this version... -- 在 Branch 右边的文本框输入分支名 -- OK
4.2 在自己开发时,需要用到别人在自己开发后增加的内容(别人未上传到product)
4.2.1 自己开发的内容未上传到 release
git rebase SHA(SHA 为别人合并到 release 前的最后一次提交)
4.2.2 自己开发的内容已上传到 release
git merge --no-ff SHA(同上)
TGit:单击右键 -- TortoiseGit -- Merge -- 点击 Commit 左边的单选按钮 -- 在 Commit 右边的文本框中填入 SHA(同上) -- 勾选 No Fast Forward -- OK
4.3 在自己开发过程中,需要用到别人在自己开发后增加的内容(别人已上传到product)
4.3.1 自己开发的内容未上传到 release
git rebase product
TGit:单击右键 -- TortoiseGit -- Rebase -- 在 Upstream 右边的下拉框中选择 product -- Start Rebase
4.3.2 自己开发的内容已上传到 release
git merge --no-ff product