常用git命令总结

以前公司都是使用svn作为公司的版本控制,由于现在需要使用git,所以前不久断断续续花了几天时间学了一些git版本控制器的一些命令。我自己整理了一些比较常用的命令,有兴趣的同学可以参考一下。

[b]git命令:[/b]

[b]暂存区(这是git中一个很重要的概念,除此外还有工作区和远程):[/b]git add时将文件add到暂存区,git commit时将文件从暂存区提交到分支或主干上。只有add到暂存区上了,才会在commit时提交到分支中。
[b]pwd:[/b]命令用于显示当前目录
[b]mkdir:[/b]新建文件
[b]git init:[/b]该命令把上面新建的目录变成Git可以管理的仓库
[b]ls -ah:[/b]显示隐藏的.git文件
[b]git add + 文件名(含后缀):[/b] 把文件(该文件必须存在才能add进去)添加到仓库(这里是添加到暂存区),可以同时add多个文件:git add a1.txt a2.txt,a1和a2都添加进去了
[b]git add * :[/b]将所有修改都加到暂存区
[b]git commit -m "hhhh" :[/b] 将上面添加的文件提交到仓库(提交到分支),-m:是提交说明,“hhhh”是说明的内容
[b]git status :[/b] 查看仓库当前的状态,哪些文件被修改过以及有没有被提交
[b]git diff + 文件名(含后缀):[/b] 查看文件中被修改的内容(添加的、删除的、修改的等等)
[b]cat + 文件名(含后缀):[/b]查看文件中的所有内容
[b]git log:[/b]该命令显示从最近到最远的提交日志
[b]git log --pretty=oneline :[/b] 显示从最近到最远的提交日志,每次日志显示在一行中,只显示版本号和备注
[b]git reset --hard HEAD^:[/b]返回上一个版本。HEAD:表示当前版本;HEAD^:表示上一个版本;HEAD^^:表示上上个版本;HEAD~100:表示往上第100个版本
[b]git reset --hard + 版本号:[/b]返回到指定的版本,版本号不需要写全,只需要写前面几位就可以,git会自动查找到相应的版本号
[b]git reflog :[/b] 用来记录你的每一次命令
[b]git checkout -- + 文件名(含后缀):[/b]把文件在工作区的修改全部撤销
[b]git reset HEAD + 文件名(含后缀):[/b]把文件在暂存区的修改全部撤销
[b]git rm + 文件名(含后缀):[/b] 删除文件,删除以后,git add和git commit就ok了
[b]在git上添加ssh key:[/b]
1、ssh-keygen -t rsa -C "自己在github上注册的邮箱地址"该命令时生成ssh key的公钥和私钥。
2、vi .ssh/id_rsa.pub : 该命令时查看公钥密码。
3、然后在https://github.com/settings/ssh中add ssh key,将获取的公钥添加上去就好了。
[b]git remote add origin + 自己git项目地址:[/b]添加远程库,必须在自己新建的git项目下执行该命令
[b]git clone + 项目git地址:[/b]从远程克隆项目下来
[b]git push -u origin master:[/b] 把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。以后本地提交后,直接食用:git push origin master该命令上传分支(由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。)
[b]git checkout -b 分支名称:[/b]git checkout命令加上-b参数表示创建并切换分支,相当于git branch 分支名称(创建分支)+git checkout 分支名称(切换分支)
[b]git branch:[/b]列出所有的分支,当前分支前面会标一个*
[b]git merge 分支名称:[/b]合并分支,必须先切换到需要合并的分支上,才能合并
[b]git branch -d 分支名称:[/b]删除分支
[b]git branch -D 分支名称:[/b]强制删除分支
[b]git log --graph --pretty=oneline --abbrev-commit:[/b]产看分支合并情况
[b]git merge --no-ff -m "merge with no-ff" 分支名称:[/b] --no-ff参数,表示禁用Fast forward,可以看到分支信息
[b]git stash:[/b]把当前工作现场“储藏”起来,等以后恢复现场后继续工作
[b]git stash list:[/b]列出工作现场
[b]git stash apply:[/b]恢复stash
[b]git stash drop:[/b]删除stash
[b]git stash pop:[/b]恢复并删除stash
[b]git remote:[/b]查看远程库信息
[b]git remote -v:[/b]查看远程库信息(详细信息)

[b]多人协作的工作模式通常是这样:[/b]
首先,可以试图用git push origin branch-name推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。
这就是多人协作的工作模式,一旦熟悉了,就非常简单。

[b]git tag + 标签名称:[/b]创建标签
[b]git tag:[/b]查看标签
[b]git tag + 标签名称 + commitId:[/b]创建指定commitId的标签
git show + 标签名称:查看某个标签
[b]git tag -a 标签名称 -m "version 0.1 released" commitId:[/b]创建带有说明的标签,-a指定标签名,-m指定说明文字,commitId为自己的ID号
[b]git tag -d 标签名称:[/b]删除标签
[b]git push origin <tagname>:[/b]推送某个标签到远程
[b]git push origin --tags:[/b]一次性推送全部尚未推送到远程的本地标签
[b]git push origin :refs/tags/<tagname>:[/b]远程删除标签(需要先本地删除标签)
[b]git config --global color.ui true:[/b]让Git显示颜色,会让命令输出看起来更醒目
[b]git config --global alias.st status:[/b]配置别名,将status配置成st,敲命令时git status就可以敲成git st了

想要学习git命令的同学,我这里给大家推荐一个地址,可以供大家去学习(学习起来非常简单):[color=blue][url]http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000[/url][/color]


[color=red][b]请勿转载,谢谢!!![/b][/color]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值