git-linux终端命令详解
以下是我整理的一些linux系统常用命令
1、Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
注:git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
创建版本库
2、git init 初始化
所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,强烈建议使用标准的UTF-8编码
使用Windows的童鞋要特别注意:
千万不要使用Windows自带的记事本编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如,网页第一行可能会显示一个“?”,明明正确的程序一编译就报语法错误,等等,都是由记事本的弱智行为带来的。
3、git config --global color.ui true git显示颜色
ssh-keygen -t rsa -C "youremail@example.com" 生成ssh秘钥
4、完整提交流程添加文件到Git仓库
git add 1.txt 提交到缓存区
git commit -m "message" 提交到库
git status 仓库当前的状态
git push 推送到远程仓库
5、查看差异类
git diff 1.txt 查看未提交(add和commit)文件修改内容
git diff HEAD -- 1.txt 查看工作区和版本库里面最新版本的区别
git log 【--pretty=oneline】版本历史记录
6、回退类
git checkout -- 1.txt 丢弃工作区的修改
git reset HEAD 1.txt 撤出暂存区
git reset --hard HEAD^ 回退版本.用HEAD表示当前版本,上一个版本就是HEAD^,当然往上100个版本,所以写成HEAD~100。
git reset --hard ID 回退版本
git reset --hard origin/{master}强制更新代码库
git reflog 操作命令记录
git rm删掉,并且git commit 删除版本库文件
7、要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改
要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。
Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
8、分支类
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
git merge --no-ff -m "merge with no-ff" dev 合并分支。禁用Fast forward模式,Git就会在merge时生成一个新的commit,从分支历史上就可以看出分支信息
git stash Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
git stash list 查看存储的工作
8、恢复存储的工作
git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
git stash pop,恢复的同时把stash内容也删了
你可以多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash,用命令:
$ git stash apply stash@{0}
9、多人协作的工作模式通常是这样:
首先,可以试图用git push origin <branch-name>推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!
如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>。
git tag <name>就可以打一个新标签:
git tag v0.9 f52c633
git tag查看所有标签:标签不是按时间顺序列出,而是按字母排序的
git show <tagname>查看标签信息
git tag -a v0.1 -m "version 0.1 released" 1094adb 创建带有说明的标签,用-a指定标签名,-m指定说明文字:
10、远程仓库操作
git push origin <tagname>可以推送一个本地标签;
git push origin --tags可以推送全部未推送过的本地标签;
git tag -d <tagname>可以删除一个本地标签;
删除远程(先从本地删除,再删除远程标签)
git push origin :refs/tags/<tagname>可以删除一个远程标签。
git-linux终端命令详解相关推荐
- linux关闭中断快捷键,linux screen 命令详解(可以中断终端界面运行)
linux screen 命令详解 一.背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况 ...
- Linux常用命令详解(两万字超长文)
Linux常用命令详解 作为一枚程序员,熟练掌握一些常见的linux命令是很有必要的,掌握这些命令能帮助我们更好地管理Linux系统,提高工作效率,并有效地解决各种问题,为了方便自己后续查阅以及帮助不 ...
- linux awk命令详解,使用system来内嵌系统命令,批量github,批量批下载视频, awk合并两列...
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- linux编译bzip2,linux bzip2 命令详解
linux bzip2 命令详解 功能说明:.bz2文件的压缩程序. 语 法:bzip2 [-cdfhkLstvVz][--repetitive-best][--repetitive-fast][- ...
- linux who命令功能,Linux who命令详解
who 命令显示关于当前在本地系统上的所有用户的信息.显示以下内容:登录名.tty.登录日期和时间.输入whoami 显示您的登录名.tty.您登录的日期和时间.如果用户是从一个远程机器登录的,那么该 ...
- nohup命令及其输出文件 linux nohup命令详解
linux nohup命令详解 nohup命令及其输出文件 nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令.该命令可以在你退出帐户/关闭终 ...
- 【网络编程】Linux tcpdump命令详解---编辑中
目录 即看即用 详细说明 简介 输出信息含义 链路层头 TCP 数据包 UDP 数据包 SMB/CIFS 解码 AFS 请求和回应 KIP AppleTalk协议 IP 数据包破碎 时间戳 反向过滤 ...
- linux who命令详解,Linux who命令详解
Linux who命令详解教程 Linux who命令详解 功能 显示系统中哪些使用者. 语法 who [options] 参数 参数 描述 options who 命令使用的参数. who命令常用参 ...
- Linux常用命令详解文库
Linux常用命令详解文库.txt精神失常的疯子不可怕,可怕的是精神正常的疯子!Linux常用命令详解 来源: LUPA开源社区 发布时间: 2007-05-27 05:34 版权申明 字体: ...
- centos7中ps显示的内容_值得收藏,史上最全Linux ps命令详解
原标题:值得收藏,史上最全Linux ps命令详解 一.程序员的疑惑 大概在十多年前,我当时还是一个产品经理.由于一些工作的原因,需要向运维工程师学习一些linux常用命令. 当使用linux ps这 ...
最新文章
- Hibernate 关联映射 之 多对多 关联(二) 之拆分
- 独立集,覆盖集,支配集,最大团,最大匹配
- 闲话WPF之十八(WPF中的资源 [4] )
- Try-Catch 包裹的代码异常后,竟然导致了产线事务回滚!| 原力计划
- python︱flashtext高效关键词查找与替换
- Mysql replace 与 insert on duplicate效率分析
- ChartType 属性 excel图表类型
- 缓存与IO(很经典)
- 使用CSS控制表单样式/示例演示
- Java Annotation 刷课笔记(二)
- 【IOS账号分享】《帕斯卡契约》
- flash遮罩弹性跟随效果
- 文献阅读(SRCNN)
- sumif单列求和_Sumif、Sumifs单列多条件求和-阿里云开发者社区
- Cts框架解析(19)-设备状态的分类以及恢复模式的分类
- 论文笔记——Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data
- vue组件编写 组件库_一种玩具,可让您使用Vue组件编写歌曲
- Don't Starve,好脚本,好欢乐
- 应届毕业生 求职面试宝典
- Flink SQL语法检查
热门文章
- C盘爆满的解决方案?很可能是因为这个Group2文件夹
- 时钟周期是干什么的?底层原理是什么?
- android之计时器chronometer
- 2023年电工杯数学建模AB题思路分析
- 传播易7月发力 微信大号营销成为前锋
- 如何杀掉defunct进程
- ML:从工程化思维分析—机器学习团队十大角色的简介(背景/职责/产出物):产品经理、项目经理、业务咨询顾问、数据科学家、ML研究员、数据工程师、ML工程师、DevOps/软件开发/交付工程师
- 【Linux】Linux命令详解
- 偏态分布(Skewed distribution)
- cufflinks一行代码搞定plotly