Git常用命令--了解这些就够了
将本地工程push到远程
方式一:
建立本地仓库
git init
创建远程仓库:在github或者gitlab创建远程仓库
让本地仓库和远程仓库进行关联
git remote add origin git@mycode.skylettestudio.com:xlPay/XLPay.git
进行添加和提交操作
git add .
git commit -m"添加文件"
push到远程
git push -u origin master
由于远程库是空的,第一次推送master分支时,加上-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令,如下:
git push origin master
方式二:
创建远程仓库
把远程仓库clone到本地
git clone git@mycode.skylettestudio.com:xlPay/XLPay.git
将本地工程copy到clone的文件夹中
进行添加和提交操作
git add -A
git commit -m"添加文件"
将工程push到远程
git push origin master
Add操作
添加单个改动文件,如:readme.txt
git add readme.txt
添加所有改变的文件,有如下几种区别:
//表示添加所有内容
git add -A
//表示添加新文件和编辑过的文件不包括删除的文件
git add .
//表示添加编辑或者删除的文件,不包括新添加的文件
git add -u
添加同时提交内容
git commit -am"添加并提交到仓库"
分支操作
查看分支
git branch
创建分支
git branch <name>
切换分支
git checkout <name>
创建+切换分支
git checkout -b <name>
合并某分支到当前分支
git merge <name>
删除本地分支
git branch -d <name>
查看远程分支列表
git branch -a 绿色代表当前项目所在的分支,红色就是远程分支列表
提交该分支到远程仓库(即:在远程创建dev分支,并提交内容):
git push origin dev
从远程获取dev分支内容:
git pull origin dev
或者通过用命令行,运行 git fetch,可以将远程分支信息获取到本地,
再运行 git checkout -b local-branchname origin/remote_branchname
就可以将远程分支映射到本地命名为local-branchname 的一分支删除远程分支
git push origin --delete <branchName>
重命名本地分支
git branch -m <oldbranch> <newbranch>
重命名远程分支
先删除远程分支,然后重命名本地分支,再重新提交一个远程分支
版本回退
在Git中,用HEAD表示当前版本。上一个版本就是HEAD,上上一个版本就是HEAD。,当然往上100个版本写100个比较容易数不过来,所以写成HEAD~100。
查看提交日志(所有的提交日志,最近到最远)
git log
查看提交的内容(比如更改了哪些类,删除了哪些文件等)
git log -p -1// -p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新
查看命令历史(即:我们每一个命令)
git reflog
通过git log 或者 git reflog可以拿到每个版本的commit_id,然后通过切换版本/回退版本的命令即可:
git reset --hard commit_id
回退版本操作:
//git log 拿到commit_id
git log
//回到commit_id那个版本
git reset --hard commit_id
已经回退到了之前的版本,又想回到新版本
//查看所有的命令,然后找到新版本提交的 commit_id
git reflog
//去到新版本
git reset --hard commit_id
让这个文件回到最近一次git commit或git add时的状态
git checkout -- readme.txt
标签管理
打一个新标签
//默认标签是打在最新提交的commit上的
git tag <name>
查看所有标签(标签不是按时间顺序列出,而是按字母排序的)
git tag
查看某个标签信息
//标签不是按时间顺序列出,而是按字母排序的
git show <tagname>
创建带有说明的标签,用-a指定标签名,-m指定说明文字
git tag -a v0.1 -m "设置了标签啊" 3628164
删除本地标签
git tag -d v0.1
推送一个本地标签到远程
git push origin <tagname>
推送全部未推送过的本地标签到远程
git push origin --tags
删除一个远程标签
//先在本地进行删除
git push origin :refs/tags/<tagname>
tag默认是打在最新的commit上的,如果想给已经commit过的内容添加标签如下:
1. git reflog //找到历史版本的 commit id = 6224937
2. git tag v1.0.0 6224937
获取远程tag
git fetch origin tag <tagname>
解决冲突
合并冲突:
//提交的文件如果出现冲突就会出现这种提示
CONFLICT (content): Merge conflict in readme.txt Automatic merge failed; fix conflicts and then commit the result.
- 通过git status 查看冲突文件
- Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容
- 修改文件,保存,再次提交即可
- 通过git log查看分支合并的情况
更新本地工程
获取远端库最新信息
git fetch origin
作比较
git diff master origin/master
合并本地仓库代码
git merge origin/master
公共操作
把本地git仓库恢复为普通文件夹
- 删除这个目录里的隐藏文件夹.git
- rm -rf .git/
测试Github和Gitlab是否添加了SSH
ssh -T git@github.com
ssh -T git@gitlab.com
查看未传送到远程代码库的提交描述/说明(commit到了本地仓库,但是没有push到远程仓库的内容的提交说明)
git cherry -v origin thcdev//后面要加push到的远程仓库名
查看远程库信息
git remote -v;
清屏操作
git reset
git log之后退出
按 Q 即可
找到历史提交的commit id
git log --pretty=oneline --abbrev-commit
和远程仓库建立联系
创建SSH Key
在用户主目录(这里在windows下是指 c/user/Administrator/.ssh/id_rsa)下,看看有没有.ssh目录。
如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。
如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可。
由于这个Key也不是用于军事目的,所以也无需设置密码。
(测试的结果:C:\Users\Administrator.ssh 里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa
是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。)
登陆GitHub,打开“Account settings”,“SSH Keys”页面:然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。点“Add Key”,你就应该看到已经添加的Key:
注意两点:
为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。
测试SSH key是否添加成功
输入如下命令进行测试
ssh -T git@github.com
如果出现:
ssh_success.png说明添加成功了。
Git 命令行常用命令
进入当前路径的dev
cd dev
返回上级目录
cd ..
返回上次目录
cd
查看当前目录
pwd
列出当前目录内容
ls
新建一个名为dev的目录
mkdir dev
强制删除,不管目录为不为空
rm -rf dev
Vim常用命令
关闭(Exiting)
:w 保存
:wq 保存并关闭 :x
:q 关闭(已保存)
:q! 强制关闭
关闭插入模式
ESC//点击之后就可以执行 vim命令操作
git问题收录
Unable to create 'E:/WorkSpace/xiaoluSDK-android/.git/index.lock': File exists.
rm -f ./.git/index.lock
[搞一波](https://blog.zengrong.net/post/1746.html#)
- 当操作git的时候,如果进入了很多命令.~ ... 等,需要按q退出
Git常用命令--了解这些就够了的更多相关文章
- Git常用命令和Git团队使用规范指南
转自:https://wsgzao.github.io/post/git/ 前言 在2005年的某一天,Linux之父Linus Torvalds 发布了他的又一个里程碑作品——Git.它的出现改变了 ...
- Git常用命令及方法
https://blog.csdn.net/web_csdn_share/article/details/79243308 Git常用命令及方法大全 下面是我整理的常用 Git 命令清单.几个专用名词 ...
- Git 常用命令总结,掌握这些,轻松驾驭版本管理
原创 最近公司的代码管理工具要从SVN转到Git上,因此虽然之前用过Git,但是都是一些简单的推送提交,因此还是有必要进行一些系统的学习,这里做一下笔记,以备后询,且不定期更新. 关于SVN和Git的 ...
- 10年阿里自动化测试架构师帮您收集的:git常用命令大全以及git原理图【泣血推荐,建议收藏】
一.Git分布式版本控制简介 Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势.本来想着只把最有用.最常用的 Git 命令记下来, ...
- 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 ...
随机推荐
- Qt 之 样式表的使用——样式选择器(上下篇,很详细)
http://blog.csdn.net/goforwardtostep/article/details/60884870 http://blog.csdn.net/goforwardtostep/a ...
- java-mysql(3) 读写image
在mysql里面用来存储图片有一个特殊的数据对象叫做 Blob(Binary Large Object). 数据库里面插入一张图片: 第一步:需要为图片创建一个文件对象 File img = new ...
- 源码解读·RT-Thread多任务调度算法
*本文依据RT-Thread当时最新版本4.0.1版本源码 RT-Thread操作系统是一款基于优先级和时间片轮转的多任务实时操作系统.其调度算法采用256个优先级,并支持相同优先级的任务存在.不同优 ...
- 09 Javascript的伪数组 arguments
arguments代表的是实参.有个讲究的地方是:arguments只在函数中使用. (1)返回函数实参的个数:arguments.length 例子: fn(2,4); fn(2,4,6); fn( ...
- SpringCloud Sleuth入门介绍
案例代码:https://github.com/q279583842q/springcloud-e-book 一.Sleuth介绍 为什么要使用微服务跟踪?它解决了什么问题? 1.微服务的现状? ...
- 微服务SpringCloud之服务注册与发现
在找.net core 微服务框架时发现了Steeltoe开源项目,它可以基于Spring Cloud实现.net core和.net Framework的微服务.正好之前也有学习过SpringBo ...
- Spring Boot2(四):使用Spring Boot多数据源实现读写分离
前言 实际业务场景中,不可能只有一个库,所以就有了分库分表,多数据源的出现.实现了读写分离,主库负责增改删,从库负责查询.这篇文章将实现Spring Boot如何实现多数据源,动态数据源切换,读写分离 ...
- spring boot 2.x 系列 —— spring boot 实现分布式 session
文章目录 一.项目结构 二.分布式session的配置 2.1 引入依赖 2.2 Redis配置 2.3 启动类上添加@EnableRedisHttpSession 注解开启 spring-sessi ...
- SpringBoot项目多数据源配置
博主总结的不错,事务也考虑到了,存一下: https://blog.csdn.net/xqnode/article/details/86498507
- Spring+Redis配置
既上次把同事屁屁龙的tomcat数据源文档摘抄过来之后,这次获得其同意后,再次怀着感激涕零的心情,抄个爽. 全文非本人所写,所以若转载时,请标明文章来源于本人原创(不要脸真爽哈哈哈哈),谢谢! 1.j ...