git常用配置及命令及资料
配置
[alias]
co = checkout
br = branch
ci = commit
st = status
lg = "log --graph --pretty=format:' %C(auto)%h %d%s %Cblue%an %Cgreen%ar'"
last = log -l HEAD
[push]
default = simple
[pull]
rebase = true
[user]
email = chinayaoning@gmail.com
name = yaoning
如何配置
Mac用户在用户根目录下 修改.gitconfig
文件
执行source .gitconfig
即可生效
如果不存在 就新建文件
查看配置
git config --list --show-origin
可以查看系统和用户的git配置情况
当然 你也可以拿来查看git配置文件在哪里 windows和Mac通用的
命令
关联到远程仓库
## 如果是新建
touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin http://git.tianyancha.com/yaoning/test.git
git push -u origin master
## 仓库已存在
git remote add origin http://git.tianyancha.com/yaoning/test.git
git push -u origin master
查看、添加、提交、找回、重置
git --help <command> //显示某个command的帮助说明
git st //显示当前工作区的状态
git co . //抛弃工作区的所有修改
git co <filePath/fileName> //抛弃某个文件的修改
git add . //将工作区的文件放入暂存区
git add <filePath/fileName> /将某个文件放入暂存区
git reset --hard //将所有文件的修改取消掉
git reset --. //将所有暂存区的文件放回工作区
git reset <filePath/fileName> //将某个文件从暂存区放入工作区
git ci -am"" //将文件加入暂存区并且做一次commit
git ci --amend //将暂存区的文件做一次追加(适用于未push的commit)
git revert <$id> //恢复某次提交的状态 并且创造一个新的commit
git diff //查看不同
删除
## 删除commit
git reset --hard <commit_id>
##如果已经push了,请确保不会影响他人
git push origin HEAD --force
## 删除branch
git br -d / -D(强制删除)
## 删除远程 branch
git push origin :<branch_name>
## 删除远程已经不存在的分支
git remote prune origin
暂存管理
## 暂存当前内容
git stash
## 显示暂存区所有内容
git stash list
## 恢复最近一次暂存的内容
git stash pop
常见问题
修改.gitignore无效
清除本地缓存(改为未跟踪状态)
git rm -r --cached .
git add .
git ci -am ""
报错
fatal: bad config line 2 in file /Users/yaoning/.gitconfig
确保粘贴到.gitconfig上的文件是使用正确的缩进
如下图红圈里边前边没有白色的标志 导致配置读取失败
改用tab缩进 或者直接贴着头写
RPC failed; curl 18 transfer closed with outstanding read data remaining
原因是项目太久,tag资源文件太大
在~/.gitconfig 中加入如下配置即可
[http]
postBuffer = 524288000
一些资源
官方
git-book-zh
oschina git文档
git-tower 好用的git客户端
git-fork 酷炫的git客户端
source-tree 比较老牌的客户端
帮助你生成gitignore文件