Git 在程序员的学习工作中使用非常频繁。对于一些常用的命令,有时候会脑子短路,记不起来,每次都要去百度谷歌一下,才能找到答案。所以把常用的命令记录一下,方便查找。
Git 配置
# 配置用户名
git config --global user.name "your_name"
# 配置邮箱
git config --global user.email youremail@example.com
# 查看配置信息
git config --list
# 配置记住密码
git config --global credential.helper store
# 删除某一项配置
git config --unset --global credential.helper store
基本操作
# git 项目初始化
git init
# 查看文件 git 状态
git status
# 添加文件
git add 文件名或目录名
# 提交 git 更改(引号内为此版本描述信息,可更改)
git commit -m "modified"
# 修改 commit 描述信息
git commit --amend -m "New commit message"
# 将新添加的修改也放到上一版本中
git commit --amend --no-edit
# 不删除工作空间改动代码,撤销 commit 和 add。相当于 git reset --mixed HEAD^ 或 git reset --mixed HEAD~1。若要撤销两次,则为 HEAD~2
git reset
# 不删除工作空间改动代码,撤销 commit,不撤销 add。
git reset --soft HEAD^
# 删除工作空间改动代码,撤销 commit 和 add。
git reset --hard HEAD^
# 针对每个文件或文件夹撤销 commit
git reset -- exclude_files
# 将远程库文件提取下来(origin 为远程库连接别名,master 为远程库分支)
git pull origin master
# 将本地改动添加到远程库分支(origin 为远程库连接别名,master 为远程库分支)
git push origin master
# 将本地改动强制添加到远程库分支(origin 为远程库连接别名,master 为远程库分支)
git push -f origin master
# 克隆仓库
git clone git://github.com/xxx/xxx.git
# 克隆具体分支
git clone git://github.com/xxx/xxx.git -b master
# 仅获取最新版和一个历史版本,即最后 2 个版本(--depth 参数最小为1)
git clone git://github.com/xxx/xxx.git --depth=1
# 列出现有标签
git tag
# 列出特有标签
git tag -l 'v1.4.2.*'
# 查看具体标签
git show v1.4
# 创建一个轻量级标签
git tag v1.4-lw
# 创建一个含附注的标签
git tag -a v1.4 -m 'my version 1.4'
# 创建一个签署标签
git tag -s v1.5 -m 'my signed 1.5 tag'
# 验证标签
git tag -v v1.4.2.1
# 推送特定标签
git push origin v1.5
# 推送所有标签
git push origin --tags
远程仓库
# 查看远程仓库的网址
git remote -v
# 添加远程库(origin 为远程库连接别名,address 为远程库的地址)
git remote add 主机名 网址
# 删除远程主机
git remote rm 主机名
分支操作
# 创建分支
git branch gh-pages
# 切换分支
git checkout gh-pages
# 创建分支并切换到该分支,相当于以上两句
git checkout -b gh-pages
# 删除分支
git branch -d gh-pages
特殊情况
# 强制pull
git fetch --all
git reset --hard origin/master
# 回退某一版本
get reflog
git reset --hard commit_id
# 删除.gitignore中忽略文件的记录
git rm -r --cached .
Git 进阶使用
Github 使用
- 解决向 github 提交代码不用输入帐号密码
- 如何选择开源许可证
- Github 是怎么检测项目语言的
- 怎么修改 Github 项目的语言
- Github 为什么没有记录你的 Contributions
- 大白话讲解如何给 github 上项目贡献代码
- 如何推广自己的 GitHub 项目
- GitHub 上有哪些好的英文文章或书籍的翻译项目
一开始用 git 的时候,还很怀疑它的用途,真正用起来才感受到它的强大。所以,当大家了解到某样技术很流行但自己却没有感觉的到的话,最好的方法就是使用它。
对于 git 这种主要是以命令行为主的工具,经常会出现命令忘记的情况,所以最好做个记录,以方便自己查找。当然,最可靠的方式还是经常敲敲命令!