【转】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 ...
随机推荐
- react 中 函数bind 和箭头函数
用bind形式 方便测试,含有this时候最好用bind形 其他情况用箭头函数 含有this的时候也可以用箭头函数
- Tomcat 后台war部署上传shell
tomcat的后台登录的两个目录为: /admin /manager/html 如果版本过高,只有采用弱密码的方式进后台: 有些tomcat采用默认的用户名和密码(用户名:admin,密码:空): 或 ...
- Spring里面AOP的和IOC的理解
1.Spring里面AOP的理解:https://www.cnblogs.com/hongwz/p/5764917.html例如日志功能.日志代码往往横向地散布在所有对象层次中,而与它对应的对象的核心 ...
- python3练习100题——045
题目:统计 1 到 100 之和. sum(range(1,101)) 题目太容易了,我都不想用迭代浪费时间. 觉得这100道题难度设计越来越不合理.
- 500kuai
https://www.bilibili.com/bangumi/media/md11653495/?spm_id_from=666.10.b_62616e67756d695f64657461696c ...
- Arcgis runtime sdk .net 二次开发
前段时间研究了下 arcgis runtime sdk .net 二次开发··这里做个笔记 runtime版本为100.6 基于WPF 开发 命名空间引入 xmlns:esri="http: ...
- babel 的简单使用
之前在项目中使用.balelrc文件,但是一直不知道具体怎么使用,就知道可以将es6语法转码为es5语法. 今天就简单的做个例子,也算是记录一下困扰了好久的问题. 转码步骤: 首先在项目的目录中安装B ...
- 在bootstrap的column中的formatter里不能传递row参数吗?
row 是一个对象 你需要把它转成字符串用JSON.stringify(row),这样就是字符串了,但是还有问题,你需要给加密一下encodeURI(JSON.stringify(row)),然后方 ...
- [CF1304C] Air Conditioner
维护一区间 \([l,r]\) 人按照时间升序 考虑 \((l_i, h_i, t_i)\),当前的所有区间与这个区间取交 推到 \(t_{i+1}\) 时,所有区间的端点向两边扩张即可 注意把空掉的 ...
- easy_thinking
登陆抓包,改成32位,根据tp6任意创建文件的漏洞,修改cookie. 上传文件. 木马在/runtime/session下, 然后传bypass文件绕过disablefunction,得到flag