引用: 廖雪峰的Git教程
Git的安装
Linux中
sudo apt-get install git
windows下Git下载
然后使用默认选项安装即可
配置git
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
git基础命令
命令 | 作用 |
---|---|
git init | 创建一个版本库 |
git status | 查看工作区文件的状态 |
git add “文件全名” | 添加一个修改到暂存区 |
git add . | 添加新文件和编辑过的文件不包括删除的文件 |
git add -A . | 添加所有改变的文件 |
git add -A | 添加所有内容 |
git add -u | 添加编辑或者删除的文件,不包括新添加的文件 |
git status | 查看暂存区的文件状态 |
git diff | 查看提交前与目前仓库中文件内容的不同 |
git commit -m “修改描述” | 将暂存区的内容提交到版本库 |
git log | 显示从最近到最远的提交日志 |
git reset –hard HEAD^ | 回退上一个版本,^有几个就代表回退几个版本 |
git reset –hard 版本号 | 回退到具体的版本 |
git reglog | 查看命令操作,以便确定要回到哪个版本 |
git checkout – 文件名 | 让文件回到最近一次git commit或git add时的状态。用版本库中的文件覆盖工作区的文件 |
git rm “文件名” | 可以从版本库中删除文件 |
cat “文件名” | 查看文件类容 |
远程仓库
第一步
输入命令ssh-keygen -t rsa -C "youremail@example.com"
创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步
第二步
登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSHKey”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。- 第三步
关联远程仓库
git remote add origin git@github.com:Git账户名/仓库名.git
命令 | 作用 |
---|---|
git push | 推送本地文件到远程仓库 |
git push -u origin master | 第一次推送master分支到远程仓库 |
git push origin master | 将master分支推送到远程仓库 |
git clone git@github.com:Github账号/仓库名.git | 克隆远程仓库 |
git remote -v | 查看远程库信息 |
git checkout -b dev origin/dev | 从远程仓库的dev分支创建本地的dev分支 |
分支创建切换
命令 | 作用 |
---|---|
git branch dev | 创建dev分支 |
git checkout dev | 切换至dev分支 |
git checkout -b dev | 创建并切换至dev分支,相当于同时执行上面两条 |
git branch | 查看当前是哪个分支 |
git merge dev | 将dev分支合并到当前分支 |
git merge –no-ff -m “merge with no-ff” dev | 分支合并时禁用Fast forward模式 |
git branch -d dev | 删除dev分支 |
git log –graph –pretty=oneline –abbrev-commit | 查看分支合并图 |
git stash | 储藏当前分支的工作现场 |
git stash list | 查看储存的工作现场记录 |
git stash apply stash@{0} | 恢复某个储存的stash |
git stash pop stash@{0} | 删除某个储存的stash |
git stash drop stash@{0} | 恢复并删除某个stash |
git branch -D 分支 | 强制删除某个分支 |
标签管理
命令 | 作用 |
---|---|
git tag v1.0 | 当前分支打上v1.0的tag标签 |
git tag | 查看所有标签 |
git log –pretty=oneline –abbrev-commit | 历史提交的commit以及commitID |
$ git tag v0.9 commitID | 给具体的某个commit打上tag |
$ git tag -a v0.1 -m “version 0.1 released” commitID | -a指定标签名,-m指定说明文字 -s用私钥签名一个标签 |
git show | 查看具体的某个tag信息 |
git tag -d v0.1 | 删除一个具体的标签 |
git push origin v1.0 | 推送某个标签到远程 |
git push origin –tags | 一次性推送全部尚未推送到远程的本地标签 |
git push origin :refs/tags/ | 删除远程标签 |
其它
命令 | 作用 |
---|---|
git add -f 文件名 | 强制添加某个被.ignore的文件 |
git check-ignore -v 文件名 | 检查某个被ignore的文件在.ignore中被忽略的位置 |
git config –global alias.st status | 将status配置成缩写st,其它的缩写配置可以类推 |
git config –global alias.unstage ‘reset HEAD’ | 同上,将引号中的命令配置为缩写unstage |
git config –global alias.last ‘log -1’ | 配置一个last的缩写 |
git config –global alias.lg “log –color –graph –pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset’ –abbrev-commit” | 丧心病狂的缩写 |
- 配置Git的时候,加上–global是针对当前用户起作用的,如果不加,那只针对当前的仓库起作用。
配置文件放哪了?每个仓库的Git配置文件都放在.git/config文件中,别名就在[alias]后面,要删除别名,直接把对应的行删掉即可
当前用户的Git配置文件放在用户主目录下的一个隐藏文件.gitconfig中