最近开始使用git,将自己常用git命令做一个简单归纳,便于记忆。
初始化及配置
git init
:初始化资料库git config --global user.name 'xxx'
:配置用户名git config --global user.email 'xxx@xxx'
:配置电子邮箱git remote add origin <git repository url>
:添加远端资料库,origin为资料库名,可*指定,资料库url可在github网站上获取
文件推送
本地仓库由 git 维护的三棵“树”组成。第一个是你的 工作目录,它持有实际文件;第二个是 缓存区(Index),它像个缓存区域,临时保存你的改动;最后是 HEAD,指向你最近一次提交后的结果。
- 本地
git add <filename>
:将文件添加至缓冲区,git add .
可将当前目录下所有文件添加至缓冲区。还可用git status
查看缓冲区状态,git rm
删除缓冲区中不必要的文件。git commit -m '代码提交信息'
:将改动提交至HEAD,但尚未同步至远端仓库。 - 远端仓库
git push origin master
:将修改推送至远端资料库,origin为资料库名,master为分支名,可根据需要*指定。
打标签
代码还会有许多修改,但现在已得到了第一个稳定版本,打个标签是个不错的选择。
Git 使用的标签有两种类型:轻量级的(lightweight)和含附注的(annotated)。轻量级标签就像是个不会变化的分支,实际上它就是个指向特定提交对象的引用。而含附注标签,实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证。一般我们都建议使用含附注型的标签,以便保留相关信息;当然,如果只是临时性加注标签,或者不需要旁注额外信息,用轻量级标签也没问题。git tag
:列出现有标签。git tag -a v1.4 -m 'my version 1.4'
:创建一个含附注的标签(-a参数指定)。git tag v1.4
:创建一个轻量级标签,直接给出标签名即可。
打完标签后,git push origin v1.4
将标签推送至github,即可在网页上看到新打的标签。
如果要删除一个标签:git tag -d 标签名
:删除本地标签,但远程标签仍存在git push origin :refs/tags/标签名
:删除远程标签
这里还要说说,将代码库恢复至某标签指定的状态,好像是需要使用checkout:git checkout v1.4
。关于这个问题,我也不是很确定。
文件获取
git clone <repository url>
:获取远端资料库git push origin master
:将远端资料库master分支推送至本地,并merge到当前分支。
目前我常用的git命令就这些,至于更高级的分支创建与合并等等,留待接下来研究。