您的位置:首页 > 其它

GIT学习笔记

2018-02-22 16:03 176 查看
Git是一款免费、开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。
学习git可以参见《Git版本控制管理》一书,O'REILLY出版社。

仓库

1、创建仓库
$ git init repo_name
2、克隆仓库
$ git clone from [to]
将from的仓库克隆到to。from可以是本地仓库或远程仓库,如果没有to参数,创建跟from仓库同名的仓库目录。

3、查看远程仓库
$ git remote
使用`-v`选项可以查看远程仓库的名字以及路径

4、查看远程仓库的信息:
$ git remote show origin

5、添加远程仓库
$ git remote add custom_name repo_url
将远程仓库repo_url以名字custom_name添加到本地仓库之上

6、删除远程仓库
$ git remote rm origin_name

7、拉取远程仓库
$ git fetch origin_name

8、从远程仓库origin_name中拉取数据,但并不合并
$ git pull origin_name

提交

1、添加文件
$ git add file_name
将文件file_name纳入git的管理范围并暂存,file_name会自动展开。

2、排除文件
$ git rm file_name
删除对文件fill_name的跟踪,并从工作目录中删除文件,下次commit之后,file_name会从git仓库中删除。
如果该文件已经被暂存,则需要添加参数`-f`表示强制删除。
相当于运行了'rm file_name'和'git add file_name'
仅仅停止文件的跟踪,而不从工作目录删除:
$ git rm --cached file_name

3、取消暂存文件
$ git reset HEAD file_name
取消对 file_name 的暂存

4、撤销对文件的修改
$ git checkout -- file_name
将文件恢复到上次暂存或提交的状态。

5、提交
$ git commit
$ git commit -m "对本次提交的描述"
如果没`-m`参数,则会调用git定义的编辑器编辑对本次提交的描述。

如果使用`-a`参数,则默认先运行`git add .`然后提交。

如果上次提交不完善,可以使用参数`--amend`将本次提交与上次提交合并为一次提交。

回退至上一版本,则用
        $ git reset --hard HEAD^

修改

1、查看已暂存和未暂存的修改
$ git diff
2、查看暂存中的修改
$ git diff --staged
3、查看修改的状态
$ git status

* 如果git的工作目录没有任何修改则会显示“nothing to  commit”
* 有修改,一下三种状态可能会显示多个:
* 如果有文件没有纳入版本管理则会显示"Untracked files"
* 如果有文件修改且没有加入暂存区域,则会显示"Changes not staged for commit"
* 如果有修改加入到暂存区域则会显示"Changes to be committed"

标签

1、显示标签列表
$ git tag
显示具体的标签信息:
$ git show tag_name

2、创建不带注释的标签
$ git tag tag_name

3、创建带注释的标签
$ git tag -a tag_name -m "对标签的描述信息"

4、删除标签
$ git tag -d tag_name

5、提交远程标签
$ git push origin_name tag_name
如果标签名已经存在,则会失败。
使用`--tags`可以一次性提交所有标签。

6、查看远程标签
$ git ls-remote --tags

7、拉取远程标签
$ git fetch origin tag tag_name

分支

1、查看分支
$ git branch
打印出分支列表。使用参数`-a`可以查看远程和本地的所有分支,使用参数`-r`可以查看远程分支。

2、创建本地分支
$ git branch branch_name
创建本地分支并切换到新的分支:
$ git checkout -b branch_name

3、合并分支
将分支b合并到分支a:
$ git checkout a
$ git merge b

4、删除本地分支
$ git branch -d branch_name
如果branch_name没有被合并,删除会失败,可以采用强制删除:
$ git branch -D branch_name

5、创建远程分支
$ git push branch_name origin_name_origin_branch_name
6、跟新远程分支
$ git push branch_name origin_name_origin_branch_name

7、跟踪远程分支
$ git checkout -b local_branch_name origin_name/origin_branch_name
将远程仓库origin_name的分支绑定到本地分支local_branch_name上

8、删除远程分支
$ git push origin_name --delete origin_branch_n
97c5
ame
删除远程仓库origin_name的远程分支origin_branch_name

日志

1、查看更新commit
        $ git whatchanged
2、查看历史记录
$ git log
没有任何参数的情况下,会按提交时间列出所有的更新输出格式选项:
* `-p` 显示每次提交的详细差异
* `--stat` 同上,只是显示每次提交的修改的文件
* `--pretty` 同上,只是可以自定义显示的格式
* `oneline`
* `short`
* `full`
* `fuller`
* `format`
* `%H`
* `%h`
* `%T`
* `%t`
* `%P`
* `%p`
* `%an`
* `%ae`
* `%ad`
* `%ar`
* `%cn`
* `%ce`
* `%cd`
* `%cr`
* `%s`
* `--shortstat`
* `--name-only`
* `--name-status` 显示提交中文件的增删改查状态
* `--abbrev-commit`
* `--relative-date`
* `--graph`

输出长度
* `-n` 显示最近的n条记录
* `--since`, `--after` 仅显示指定时间之后的提交。
* `--until`, `--before` 仅显示指定时间之前的提交。
* `--author` 仅显示指定作者相关的提交。
* `--committer` 仅显示指定提交者相关的提交。
* `--grep` 仅显示含指定关键字的提交
* `-S` 仅显示添加或移除了某个关键字的提交

Markdown

学习git会不知不觉陷入到另外一个知识点,就是Markdown了。Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,使普通文本内容具有一定的格式,具有轻量、简单、通用的特点。生成的文件后缀为.md。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: