电子厂Git 用中之有的令

前言

  这首文章主要是介绍自己于运Git中的产生一对遗忘了,但是很重点之一声令下。


20171127更新

分支

查阅各个分支所依的脚下目标

git log --oneline --decorate

电子厂 1

git log --oneline --decorate --graph --all //输出你的提交历史,各个分支的指向,以及项目分支分叉的情况

git merge [branchname] 把 branchname 合并到当前分支

赶上冲突时分支的集合

电子厂 2

任何因含有合并冲突如果有待解决之公文,都见面因不合并状态标识出来。 Git
会在发出冲突之文书中投入正规的冲突解决标记,这样你可打开这些包含冲突之文件然后手动解决冲突。
出现冲之文书会含有有奇特区段,看起如下是样子:

<<<<<<< HEAD:index.html <div id="footer">contact : email.support@github.com</div> ======= <div id="footer">  please contact us at support@github.com </div> >>>>>>> iss53:index.html 

电子厂 3

立即意味着 HEAD 所指示的版本(也尽管是您的 master 分支所在的位置,因为您当运行
merge 命令的上都检出到了是分)在斯区段的达成半有些( =======
的达半有的),而 所要合并分支所指示的版在 ======= 的下半部分。
为了缓解冲突,你必选择下由 =======
分割的少组成部分中之一个,或者您吧足以自行合并这些内容。
例如,你可以经将及时段内容换成下面的范来缓解冲突:

电子厂 4

查阅各个一个分的最终一软提交

git branch -v 

git branch --merged / --no-merged  查看已经合并或者未合并的分支


git branch -d / -D(强制删除)

Origin 并任特别意义

长距离仓库名字 origin 与分名字 master 一样,在 Git
中并无其它特别之意义一样。 同时 master 是当你运行 git init
时默认的序曲分支名字,原因就是其的周边采取, origin 是当您运行 git
clone 时默认的远程仓库名字。 如果您运行 git clone -o booyah
,那么您默认的远距离分支名字将会是 booyah/master 。

2017 11 23 更新

翻文件提交历史

git log
git log -p //显示每次提交的内容差异
git log --stat  //显示每次提交的简略的统计信息
git log --pretty=format:"%h - %an, %ar : %s"

电子厂 5

电子厂 6

克出口长度

git log --sine=2.weeks
git log -<n> 显示 前 n 条提交
git log --author 指定作者的提交
git log -SFunctionName 可以列出那些添加或移除了某些字符串的提交

电子厂 7

收回有关操作

裁撤刚刚的一个交给

git commit --amend //由于commit 信息写错,好像经常用

撤暂存文件

当您利用 git add *
时,发现上加了非应当暂存的文本,可以为此底的来取消暂存

git reset HEAD <file>

git checkout -- <file> //取消对一个未加入暂存区文件的修改

长距离仓库

添加一个远程仓库
git remote add <shortname> <url>
git remote add pb https://github.com/paulboone/ticgit

从远程仓库抓取与拉取

git fetch [remote-name] //git fetch origin


git push [remote-name] [branch-name]


查看远程仓库
git remote show [remote-name]

远程仓库的移除与重命名
git remote rename <originName> <afterName>

git remote rm <remote-name>

标签

git tag 列出标签

Git 用有限种植重要项目的标签: 轻量标签(lightweight) 与
附注标签(annotated)。

一个轻量标签很像一个非会见转之分支-它不过是一个特定提交的援。

附注标签是储存在Git数据库被的一个完全对象。它们是可以为校验的;其中带有打标签者的名字、电子邮件地址、日期时;还有一个签信息;并且可以利用GNU
Privacy Guard (GPG) 签名和认证。

附注标签

git tag -a v1.4 -m 'my version 1.4'

git show 可以看到标签信息对应的提交信息

轻量标签

git tag v1.4-lw

受以前的交付由标签

git tag -a v1.2 9fsdfdasfa  某个提交的校验和的值

推送标签

git push origin v1.2 推送指定标签

git push origin --tags 一次性推送把所有不在远程仓库服务器上的标签全部推送过去

在特定标签上创建一个新分支
git checkout -b [branchname] [tagname]
git checkout -b version2 v3.3.0

何以过反到指定的 commit

  问题讲述:
比如我觉着眼前分可能无适合线上的,那么自己欲来一个更是安全之分支?

实现:

git checkout -b new-branch commitId

对 指定的 CommitId创造新分。

克隆远程仓库的时候打定义本地仓库名字

git clone http://github.com/xx myName

行使 git status -s 可以看见状态的简写版本,如下所示

电子厂 8

翻看已暂存的文本差异比较

先前一直无知底,当暂存之后采用 git diff 就不行了,今天发觉还还有这个
(在无 commit 的状态下!)

git diff --cached
git diff --staged

移除文件

首先先使用 rm filename 然后又利用 git rm filename 进行记录。

此外一种植状况是,我们想拿公文于 Git
仓库着去除(亦即从暂存区域移除),但依然期待保留在当前工作目录中。
换句话说,你想给文件保留在磁盘,但是连无思叫 Git 继续跟。 当你忘记添加
.gitignore 文件,不小心把一个不行酷之日记文件要同等堆 .a
这样的编译生成文件上加至暂存区时,这同做法更是有因此。
为达成这同样目的,使用 –cached 选项

git rm --cached deleteName

电子厂 9

相关文章