本文主要介绍了Git的几种常见命令及用法,及TortoiseGit安装配置方法。
- 0x00 介绍
- 0x01 安装Git和小乌龟
- 0x02 下载与上传
- 0x03 历史与回退
- 0x04 分支操作
- 0x05 使用补丁
- 0x06 使用TortoiseGit图形化
0x00 介绍
Git 是一个分布式版本控制系统,大概就是一个可以记录历史状态的仓库管理工具。
TortoiseGit 是 Windows 下一个很优秀的图形化 Git 辅助工具。
0x01 安装Git和小乌龟
Git 安装器下载地址: Downloads Here.
TortoiseGit 下载地址:Downloads Here.
A 安装Git
下载安装器后默认安装即可,注意勾选右键工具(默认包含)
B 添加Git
将 path/to/git/bin
和 path/to/git/cmd
路径添加到系统环境变量中
C 安装TortoiseGit
运行TortoiseGit安装程序,在配置过程中使用默认设置及刚刚安装的Git
D 测试安装结果
任意空白处右键可以看到Git工具菜单及TortoiseGit工具菜单
0x02 下载与上传
A 配置账户
通过右键的git bash
中使用命令行工具进行全局用户设置:
$ git config --global user.name “your_name”
$ git config --global user.email “[email protected]”
配置成功后默认将使用该用户身份,去掉--global
可用于单独设置某个仓库。
也可以通过在C:/User/user_name/
目录下的.gitconfig
进行配置:
[user]
email = [email protected]
name = you_name
[credential]
helper = store
其中helper
参数用于自动保存用户密码
B 克隆仓库内容
首先获得需要的Git仓库地址:
进入放置目录,使用clone
命令克隆仓库内容
C 修改文件并查看状态
使用git status
命令查看当前变动文件及其状态:
- 红色:被更改但并未将该更改添加入提交缓冲区的文件
-
绿色:被更改且已经将该更改添加入提交缓冲区的文件
使用git diff
命令查看全部变动文件变动内容,或使用git diff --
查看某个文件更改情况:
D 确认修改并进行提交
使用git add
将需要提交的更改添加入提交
使用git commit -m "commit message"
设置提交信息并提交进本地仓库
使用git push [--set-upstream
将提交推送到远程
此处使用--dry-run
参数为测试是否可以顺利提交,该步骤同git status
均可省略,但可做为一个好习惯~
E 更新本地仓库
使用git pull
拉取远程仓库最新更改
0x03 历史与回退
查看提交记录可以使用git log
:
commit-id 即 hash code of the commit log
A 状态回溯
可以通过git reset
命令退回到某一个commit的历史状态(只更改状态,不更改代码)
可以通过git reset --hard
命令退回到某一个commit的历史状态(更改状态,也更改代码)
非常不建议后者。
B 修改提交内容
使用git commit --amend
可更改(追加)本地最新提交的状态(Ctrl+O
保存,Ctrl+X
退出)
使用git rebase -i
命令可以对曾经的commit进行修改:
通过下方提示修改对应状态,保存即可进行修改(vi 开启编辑命令:a
,退出编辑Esc
,保存命令:wq
,强制退出:q!
)
如果确定!确定!要这样修改,修改可以使用git push --force
强制提交覆盖原记录,修改位置后所有的commit都将被修改。
C 状态保存
使用git stash
可以将当前更改全部保存到缓存中,并恢复状态到未更改
使用git stash pop
可以将缓冲区中更改重新运用
D 冲突
在双方同时更改某一文件时可能出现冲突,需要手动处理每一处冲突,并使用git add/rm
决定添加/删除某一个更改,之后执行merge
操作
0x04 分支操作
A 新建/切换/删除分支
使用git branch
查看分支
使用git checkout
切换到某一分支
使用git checkout -b
新建分支并且换至该分支
使用git branch -D
删除某一分支
B 分支合并
详见Git - 分支间更新、同步与提交小技巧
0x05 使用补丁
补丁是可以很方便的保留更改并随时应用的辅助文件,很有可能与当前状态出现冲突,所以一般只做临时使用。
使用git format-patch [-s] [-vn] -x
将x个提交分别生成补丁,-s
命令可用于签名,-vn
表示版本n
使用git apply
应用补丁
0x06 使用TortoiseGit图形化
TortoiseGit 拥有一个很实用的图像化界面和右键工具栏,建立在前述命令的基础上,可以使用TortoiseGit 完成图像界面中的相应操作(图片描述见底部hint)