Git 使用笔记
查看配置
git config --list
添加远程仓库
git remote add origin git://github.com/maijz/test-git.git
配置用户名和密码
当你安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中:
git config --global user.name "maijz"
git config --global user.email maijz@mail.com
git config --global user.mail "maijz@mail.com"
强制删除提交到远程版本库的数据与版本记录
git reset --hard HEAD~2 # 取消当前版本之前的两次提交
git push origin HEAD --force # 强制提交到远程版本库,从而删除之前的两次提交数据
删除github上的一个项目的内容,重新提交所有内容
git rm -r --cached .
git add .
git commit -m ".gitignore is now working"
创建新的空白分支
git checkout --orphan gh-pages
# 创建一个orphan的分支,这个分支是独立的
git rm -rf .
# 删除原来代码树下的所有文件
# 注意这个时候你用git branch命令是看不见当前分支的名字的,除非你进行了第一次commit。
git push origin gh-pages
# 在commit操作之后,你就可以用git branch命令看到新分支的名字了,然后push到远程仓库。
推送本地到远程分支
git push origin 本地分支名:远程分支名
新建远程分支,从当前分支
git push origin master:dev
新建本地分支,从远程分支并建立映射关系
git checkout -b 本地分支名 origin/远程分支名
新建本地分支,从远程分支但不会建立映射关系
git fetch origin 远程分支名:本地分支名
删除本地分支
git branch -D 本地分支名
删除git远程分支
# 本地仓库 执行
git push origin :{远程分支名}
# 意思是将本地空分支推送到远程分支,相当于删除远程分支
删除本地标签
git tag -d 标签名
删除远程标签
git push origin :refs/tags/标签名
Git pull 强制覆盖本地文件
git fetch --all
git reset --hard origin/master
git pull
强制推送代码
git push -f
Git fetch 的简单用法:
更新远程代码到本地仓库
# 从远程的origin仓库的master分支下载到本地并新建一个分支temp
git fetch origin master:temp
# 比较本地的仓库和远程参考的区别
git diff temp
# 合并temp分支到master分支
git merge temp
代理设置
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'
git config --global http.sslverify false
别名
只需要敲一行命令,告诉Git,以后st
就表示status
:
git config --global alias.st status
当然还有别的命令可以简写,很多人都用co表示checkout,ci表示commit,br表示branch:
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.logl log -list
合并Commit(提交)
git rebase -i HEAD~6
取消已经暂存的文件
git reset HEAD <file>...
其他
git log退出方法
shift + q