【转】Git常用命令指南
1、git init 初始化一个Git仓库,git init –bare example.git创建一个裸仓,即没有工作区的git仓库。
2、添加文件到Git仓库,分两步:
git add <filename>,该命令可以多次使用,添加多个文件;
git commit -m “commit提交注释说明”,完成。
3、git status 查看当前工作区的状态。
4、git diff <filename> 查看修改的内容,红色为删除部分;绿色为新加部分。
5、git log 查看系统中历史commit提交记录。
如:git log或者git log –-pretty=oneline,只输出一行附加参数。
其中pretty指定打印提交记录内容的格式,可选值由:oneline,short,medium,full等等。
补充,–-graph可以查看分支合并图,–-abbrev-commit打印简短commit_id。
6、git reset –-hard <commit_id> 将head指针设定为指向指定的commit_id。
HEAD表示当前版本id
HEAD^表示上一个版本id
HEAD^^表示上上个版本id
HEAD~100表示上上100个版本id
版本id也可以通过git log命令查看,commit就是了。
7、git reflog 记录每一次有关head的历史命令记录
8、工作区、暂存区、版本库三者概念。
工作区,英文名叫做working directory就是当前工作目录;
暂存区,英文名叫做stage,已添加但是还未提交到仓库的区域;
版本库,英文名叫做repository,对应为在工作区下隐藏目录.git/
补充,版本库里边又细分分支、HEAD指针等。
git add添加文件命令,将文件从工作区放到暂存stage区;
git commit提交命令就是把stage区的所有内容提交到当前分支中。
9、git checkout –- <filename> 把工作区中对filename文件的修改撤销掉,分两种情况:
其一为修改后还没放到暂存区(即还没使用git add命令)现在撤销修改就是回到版本库状态;
其二为已经添加到暂存区后,又做了修改,现在撤销修改就是回到添加到暂存区后的状态。
总之,就是让该文件回到最近一次git add或git commit时的状态。
请注意,git checkout <name> 是切换到对应的分支上。
10、git reset HEAD <filename> 把暂存区中对filename的修改撤销掉。
此处为把修改从暂存区撤销到工作区,要想撤销工作区的修改,要进一步使用git checkout –-<filename>命令处理。
若修改已经提交到版本库中,在没有把本地版本推送到远程仓库情况下可以使用git reset –-hard <commit_id>命令进行版本回退处理。
11、git rm <filename> 删除掉暂存区中的文件filename,使用git commit提交删除申请,从版本库中删除文件。
12、ssh-keygen -t rsa -C “xxx@your.company.com” 在用户主目录下生成密钥对。-t rsa指定加密方式为rsa加密方式。
13、git config –-global user.name “xxx” 设定用户名,全局有效。
14、git config –-global user.email “xxx@your.company.com” 设定邮箱,全局有效。
15、git remote add origin git@github.com:<github用户名>/<仓库名>.git 将本地仓库和github仓库关联起来。
16、git push -u origin master 将本地仓库的所有内容推送到远程仓库上,只在第一次推送的时候加上-u参数。
git push origin master可能会遇到远程有添加文件,但是本地没有,应该先执行git pull将远程仓库拉到本地仓库中。
git pull处理完毕后,再执行git push origin master推送本地仓库内容到远程仓库。
git push origin master,这边master其实一个refspec,格式为:<src>:<dst>冒号前表示local本地分支名称,冒号后表示remote远程仓库下分支名称。
若dst省略了则默认和local相同的branch分支名称,简单描述为以下几类命令是等价的:
git push origin master 远端默认名称为origin,冒号后边不写表示和本地相同。
git push origin 默认将当前HEAD所指向的分支内容push到远端。
git push origin master:master 冒号前后分别表示本地和远端的分支名称。
git push orgin master:refs/heads/master
17、git clone git@github.com:<github用户名>/<仓库名>.git 从远程仓库克隆到本地仓库。
18、git branch 查看分支;git branch <name> 创建分支;git checkout <name> 切换分支。
git branch –-set-upstream <branchname> origin/<branchname> 将本机分支和远程分支关联起来。
git checkout -b <name> 创建并切换到分支name,相当于是git branch <name>和git checkout <name>两步操作。
19、git merge <name>合并分支name到当前分支,若合并发生冲突,直接要解决冲突(通过git status查看冲突文件)
必须手动处理冲突文件,处理完毕后经过git add/commit提交过程。
--no-ff参数表示禁止使用Fast forward模式合并,应为本次合并创建一个新的提交commit,加入-m注释说明信息。
20、git branch -d <name> 删除分支name,大D参数为git branch -D <name>强行删除name分支。
21、git stash 将当前工作现场储藏起来,等以后恢复现场后继续工作。
22、git stash list 查看当前现场情况,恢复方式有:
git stash apply 恢复,但是恢复后,stash内容并不会删除,需要通过git stash drop删除。
git stash pop 恢复的同时将stash内容也删除掉,相当于是出栈操作。
23、git remote 查看远程仓库信息,加v参数为git remote -v展示抓取地址和push推送地址。
24、git pull 把别人最新的提交从远程仓库抓取下来。
25、git tag <name>[commit_id] 在commit_id处创建一个标签,commit_id默认为HEAD。
26、git show <tagname> 查看标签详细信息。
27、.gitignore文件,忽略特殊文件,参考http://github.com/github/gitignore 即可。
28、git commit --amend,重新编辑最近一次的提交注释信息,新生成了一个commit-id。
【转】Git常用命令指南的更多相关文章
- Git常用命令和Git团队使用规范指南
转自:https://wsgzao.github.io/post/git/ 前言 在2005年的某一天,Linux之父Linus Torvalds 发布了他的又一个里程碑作品——Git.它的出现改变了 ...
- Git常用命令清单笔记
git github 小弟调调 2015年01月12日发布 赞 | 6收藏 | 45 5k 次浏览 这里是我的笔记,记录一些git常用和一些记不住的命令,这个笔记原本是基于 颜海镜的文章增加 ...
- 项目开发中git常用命令、git工作流、git分支模型
#新建代码库git init # 在当前目录新建一个Git代码库git init [project-name] # 新建一个目录,将其初始化为Git代码库git clone [url] # 下载一个项 ...
- git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- Git 常用命令详解
Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...
- Git 常用命令大全
Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加 ...
- Git常用命令总结
Git常用命令总结 git init 在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹. git clone ...
- GIT常用命令备忘
Git配置 git config --global user.name "storm" git config --global user.email "stormzhan ...
- Git 常用命令2
Git 常用命令 Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ gi ...
随机推荐
- 嵊州D5T2 折纸 folding
折纸 folding [问题描述] 在非常紧张的 NOIP 考试中,有人喜欢啃指甲,有人喜欢转铅笔,有人喜欢撕 纸条,……而小 x 喜欢迷折纸. 现有一个 W * H 的矩形纸张,监考老师想知道,小 ...
- drf 接口文档
coreapi 参考点击 swagger风格接口文档 参考 参考用例 swagger 使用参考
- ArcMap 导入自定义样式Symbols
管网的图例里有一些自定义的样式,这些在ArcMap中找不到,找到的也不合适,所以只能自己动手制作. 1. 菜单 Customize --> Style Manager 2 . 创建新的Style ...
- BZOJ3473&&BZOJ3277串
BZOJ3473&&BZOJ3277串 题面 自己找去 HINT 对于所有串建立一个广义后缀自动机,对于每一个节点开一个set表示这个节点接受的子串在哪些串里出现过,然后在parent ...
- Unity踩坑记录
最近开始学习Unity,因为会一点儿C#,Delphi,Python,三种都是半桶水都算不上的级别. 首先排除了Python,其次delphi是我最喜欢的,奈何它目前我能了解到的引擎都很老了,dilp ...
- laravel本地化扩展包的下载使用
1.下载扩展包 composer require caouecs/laravel-lang:~3.0 2.下载完成之后在根目录下的vendor中caouces\src下就是语言的扩展包 2.1我们复制 ...
- 微信小程序调试页面的坑
使用微信开发者工具切新的页面保存刷新无法在左侧直接预览必须在app.json文件配置页面(填写路径但是不用写后缀名),并且把想要预览的页面放在第一个位置.
- LeetCode 860. 柠檬水找零 (贪心)
在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 5 美元.10 美元或 20 美元.你必须给 ...
- 发邮件python
import smtplib #smtplib是python的一个内置库,所以不需要用pip安装 mailhost='smtp.qq.com' #把qq邮箱的服务器地址赋值到变量mailhost上 q ...
- 解决pjax加载页面不执行js插件的问题
个人博客 地址:http://www.wenhaofan.com/article/20180913220425 介绍 在使用jquery.pjax的时候发现加载页面时不会执行其中的layui以及jqu ...