Git-基本操作

基本操作

1、git commit -m '':commit a file in stage

区别于git commit <files>|-a(将问文件从本地直接弄到stage区和history区)

2、git log: 提交历史

git log --decorate查看各个分支指向的commit对象

 1 -p 按补丁格式显示每个更新之间的差异。
 2 --stat 显示每次更新的文件修改统计信息。
 3 --shortstat 只显示 --stat 中最后的行数修改添加移除统计。
 4 --name-only 仅在提交信息后显示已修改的文件清单。
 5 --name-status 显示新增、修改、删除的文件清单。
 6 --abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。
 7 --relative-date 使用较短的相对时间显示(比如,“2 weeks ago”)。
 8 --graph 显示 ASCII 图形表示的分支合并历史。
 9 --pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和
10 format(后跟指定格式)。
1 -(n) 仅显示最近的 n 条提交
2 --since, --after 仅显示指定时间之后的提交。
3 --until, --before 仅显示指定时间之前的提交。
4 --author='' 仅显示指定作者相关的提交。
5 --committer='' 仅显示指定提交者相关的提交。
6 --grep='' 仅显示含指定关键字的提交
7 -S 仅显示添加或移除了某个关键字的提交
 1 git log --pretty=oneline:提交信息显示在一行内
 2 git log --pretty=short:相对默认的少了日期
 3 git log --pretty=full:多了commit
 4 git log --pretty=fuller:多了commit和commitdate
 5 git log -pretty=format
 6 eg
 7 git log --pretty=format:'%h - %an, %ar : %s' 推荐很清楚
 1 git log --pretty=format:'%h - %an, %ar : %s' 推荐很清楚
 2 
 3 %H 提交对象(commit)的完整哈希字串
 4 %h 提交对象的简短哈希字串
 5 %T 树对象(tree)的完整哈希字串
 6 %t 树对象的简短哈希字串
 7 %P 父对象(parent)的完整哈希字串
 8 %p 父对象的简短哈希字串
 9 %an 作者(author)的名字
10 %ae 作者的电子邮件地址
11 %ad 作者修订日期(可以用 --date= 选项定制格式)
12 %ar 作者修订日期,按多久以前的方式显示
13 %cn 提交者(committer)的名字
14 %ce 提交者的电子邮件地址
15 %cd 提交日期
16 %cr 提交日期,按多久以前的方式显示
17 %s 提交说明

3、git commit --amend:撤销操作,在文件提交了以后发现还有文件没有add,先add,用此命令覆盖上一次提交


4、将文件从暂存区撤回本地(不适用于新文件):
git reset HEAD <file>
使用场景:修改了几个文件,一不小心全部add进了暂存区,
想要撤回其中一个到本地比如软链接,此时暂存区没有此文件,
工作区是改完后的状态

5、撤销对文件的修改:
git checkout -- <files> 其实是将暂存区的文件拉向本地,慎用!
区别于
git checkout HEAD -- <files> 这是将history区的文件拉向暂存区和本地

远程仓库的使用

远程仓库是指托管在因特网或其他网络中的你的项目的版本库

1、查看远程仓库:
git remote 一般情况显示origin,默认名字
git remote -v
使用的git的名字和url,如果有很多仓库,则显示很多

2、更多信息:
git remote show origin

3、添加远程仓库:
git remote add <shortname(default:origin)> <url>

4、从远程仓库中抓取与拉取:
git fetch [remote-name]如origin
这个命令会访问远程仓库,从中拉取所有你还没有的数据
区别于git pull
git pull 通常会从最初克隆的服务器上抓取数据并自动尝试合并到当前所在的分支

5、推送到远程仓库:
git push [remote-name] [branch-name]

6、远程仓库的移除与重命名:
git remote rename oldname newname重命名
git remote rm repo移除
移除了以后找不回来了用git remote add origin http://github.com/xxx/xx.git
本地的remote只是github的备份,感觉删了以后文件就和仓库失去了联系?

git给历史提交打标签:

1、查看标签:
git tag

2、列出特定标签:
git tag -l 'v1.8.5*'

3、打标签:
git tag -a v1.3(tag name) -m 'add commit 3'(commit info)
如果仅仅输入git tag -a v1.4 会进入vim界面,输入后面内容

4、轻量标签:
git tag v1.4-lw(tagname)

5、事后打标签:前面都是给最后一次提交打的
git tag -a v1.2 9fceb02

6、查看标签信息:
git show v1.4
git show查看轻量标签没有额外信息

7、通过标签将内容推送到origin
git push origin v1.5
git push --tags推送所有不在远程仓库服务器上的标签

8、检出标签:
在特定的标签commit上创建一个新分支
git checkout -b [branchname] [tagname]

git别名

git别名好用,相当于git中的快捷键
如:git config --global alias.br branch, =>git br=git branch

git config --global alias.last 'log -1 HEAD'
git last查看最后一次提交啊

posted @ 2017-11-20 17:29  CodingSwallow  阅读(198)  评论(0编辑  收藏  举报