一些简单的Git操作

这是我在图书馆借阅的《GitHub入门与实践》第四章关于Git的简单介绍的内容整理。

基本操作

git init

初始化仓库。

如果初始化成功,目录下会生成.git目录(是隐藏的),这个目录的内容为附属于该仓库的工作树。文件的编辑等操作在工作树中进行,然后记录到仓库。

git status

查看仓库状态。

git add

向暂存区添加文件。

如果只是用Git仓库的工作树创建了文件,它是不会被记入Git仓库的版本管理对象中的。此时如果用git status查看状态,该文件会显示在Untracked files里。

要想让文件称为Git仓库的管理对象,就要用git add命令将其加入暂存区(提交之前的一个临时区域)。

git commit

将暂存区的文件保存到仓库的历史记录中。

使用git commit -m "description",-m后的""里是对提交的概述。
也可以直接使用git commit,这会启动编辑器,按照如下格式记录详细信息:

  • 第一行:用一行文字简述更改内容
  • 第二行:空行
  • 第三行之后:更改的原因和详细内容

git log

查看提交日志。

输出中,commit后的乱码是指向这次提交的哈希值。
如果只想要显式提交信息的第一行,可以使用git log --pretty=short
或者只显式指定文件的日志git log README.md

git diff

查看工作树与暂存区的区别。

分支操作

git branch

显式分支一览表。

其中左侧带*号的是当前所处分支。

git checkout -b

创建、切换分支。

创建名为feature-A的分支:git checkout -b feature-A
切换到master分支:git checkout master

特性(topic)分支

特性分支是集中实现单一特性的分支。在日常开发中,往往会创建多个特性分支,同时在此之外保留一个随时可以发布软件的稳定分支,稳定分支通常由master来担任。
上面创建的feature-A分支就是用来实现A的特性分支,如果在开发中遇到了bug,也需要创建新的分支。

主干分支

主干分支是特性分支的原点,也是合并的终点。通常用master作为主干分支。

git merge

合并分支。

要把feature-A合并到master中。首先切换到master:git checkout master,然后合并:git merge --no-ff feature-A

git log --graph

用图表的方式查看分支。

更改提交操作

git reset

重置状态版本。

使用git reset --hard 哈希值来重置到该哈希值对应的状态。
通过git reflog查看仓库执行过的操作的日志,选择其中对应的哈希值来重置状态。

git rebase -i

压缩历史。将一个提交的修改包含到前一个提交中,压缩称一个历史。

使用git rebase -i HEAD~2打开编辑器,将要压缩的那次修改的左侧的pick改为fixup即可。

推送至远程仓库

git remote add

添加至远程仓库。

在GitHub上的仓库的路径为"git@github.com:用户名/仓库名.git",使用git remote add origin git@github.com:用户名/仓库名.git将远程仓库的名称设置为origin。

git push

推送至远程仓库。

使用git push -u origin master将当前分支的内容推送给仓库origin的master分支。其中-u参数可以在推送的同时,将origin的master设置为本地仓库的上游(upstream),将来运行git pull时就可以不用添加参数了。

从远程仓库获取

git clone

获取远程仓库。

与git remote add语法类似git clone git@github.com:用户名/仓库名.git

git pull

获取最新的远程仓库的分支。

其他资料

Pro Git
Learn Git Branching

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值