1. git clone 从远端库克隆至本地
2. git pull –u origin 拉取在本地
3. git push –u origin 推至远端库
4. git init [dir] 初始化一个库
5. git add <-A or path> 添加文件
6. git rm 删除文件
7. git commit –m '…' 提交并说明
命令git tag 用于新建一个标签,默认为HEAD,也可以指定一个commit id;
git tag -a -m "blablabla..."可以指定标签信息;
git tag -s -m "blablabla..."可以用PGP签名标签;
命令git tag可以查看所有标签。
命令git push origin 可以推送一个本地标签;
命令git push origin --tags可以推送全部未推送过的本地标签;
命令git tag -d 可以删除一个本地标签;
命令git push origin :refs/tags/可以删除一个远程标签。
git reset 回滚到指定版本中
git log 查看操作的日志,从日志中可以看到commid_id
git log --pretty=oneline 这样看起来舒服点
git remote add origin [email protected]:PencilMR/mengran_test
git init --bare gitrepo.git ##建立一个可以远程push的库
git config --global user.name "name"
git config --global user.email [email protected]
git config --list ##查看当前的配置信息
如果用了–global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后的项目都会默认使用这里配置的用户信息。如果要在某个特定的项目中使用其他名字,只要去掉–global 选项重新配置即可,新的设定保存在当前项目的.git/config文件里。
git config --global core.editor vim ##默认为vim
git config --global merge.tool vimdiff ##修改默认差异分析工具
git status
$ cat .gitignore #在当前目录里建立此文件,就会生效,忽略的规则写在里面
*.[oa] #忽略所有以 .o 或 .a 结尾的文件
*~ #忽略所有以波浪符(~)结尾的文件
.gitignore 的格式规范如下:
\# 此为注释 – 将被 Git 忽略
\*.a # 忽略所有 .a 结尾的文件
!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
git diff #当前文件和暂存区域快照之间的差异
git diff --cached #已经暂存起来的文件和上次提交时的快照之间的差异
git diff --staged #同上
git diff ab34f 12fdca #比较两个记录的差异
git rm #删除文件(类似于git add )
git rm --cached #只从git库中删除
git mv file_from file_to
git log #查看所有的提交历史
git log --stat ##查看非详细改动
git log -p -2 #-p查看详细提交,-2查看最近两次提交
git log --pretty=oneline #单行显示日志
git log --since=2.weeks #两周内的提交
–pretty=format:”…” #可以定制输出日志
git log –pretty=format:”%h - %an, %ar : %s”
%H 提交对象(commit)的完整哈希字串
%h 提交对象的简短哈希字串
%T 树对象(tree)的完整哈希字串
%t 树对象的简短哈希字串
%P 父对象(parent)的完整哈希字串
%p 父对象的简短哈希字串
%an 作者(author)的名字
%ae 作者的电子邮件地址
%ad 作者修订日期(可以用 -date= 选项定制格式)
%ar 作者修订日期,按多久以前的方式显示
%cn 提交者(committer)的名字
%ce 提交者的电子邮件地址
%cd 提交日期
%cr 提交日期,按多久以前的方式显示
%s 提交说明
git log 后参数示意:
git commit --amend
eg:
$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend
上面只产生了一次提交。
git clone #克隆远程仓库至本地
git remote -v #查看所有的远程仓库
git remote add [shortname] [url] #添加一个远程仓库
git fetch origin #获取远程仓库origin有,而本地没有的内容
git push [remote-name] [branch-name] #将本地推送至远程服务器上。
git remote show [remote-name] #查看远程仓库的详细信息
git remote rename pb paul #远程仓库重命名
git branch #查看所有的分支
git branch -v #查看各分支最后一个commit信息
git branch #创建一个新的分支
git checkout #切换到这个分支
git checkouut -b #创建并切换到这个分支
git merge #将当前分支与目标分支合并
git branch --no-merged #查看为合成的操作
git branch -d #删除分支