【工具】GIT简单使用
1安装
下载地址:https://git-scm.com/downloads
linux:
apt-get install git
yum install git
mac:
AppStore中Xcode有集成git,Xcode-Preferences-Downloads-Command Line Tools-Install
2创建,克隆,提交,回滚
创建仓库:在当前路径下执行:git init
设置配置:
$ git config --global user.name 'runoob'
$ git config --global user.email test@runoob.com
克隆:git clone <repo> <directory>
添加文件:git add <file>
删除文件:git rm <file>
提交文件:git commit -m "<message>"
跳过ADD过程提交:git commit -a
查看状态:git status
查看变化:git diff
显示资源历史:git log --pretty==oneline
回滚到指定版本:git reset --hard versionid (前4位即可)
历史命令:git reflog
3工作区、暂存区和版本库
- 工作区:就是你在电脑里能看到的目录。
- 暂存区:英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
- 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
git checkout -- <file>:让这个文件回到最近一次git commit
或git add
时的状态
git reset HEAD <file>:版本库替换暂存区
git checkout HEAD <file>:版本库替换暂存区和工作区
4远程仓库,GitHub
4.1设置SSH加密
第1步:创建SSH Key。在用户主目录(如C:\Users\Administrator)下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa
和id_rsa.pub
这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,也无需设置密码。
如果一切顺利的话,可以在用户主目录里找到.ssh
目录,里面有id_rsa
和id_rsa.pub
两个文件,这两个就是SSH Key的秘钥对,id_rsa
是私钥,不能泄露出去,id_rsa.pub
是公钥,可以放心地告诉任何人。
第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub
文件的内容
点“Add Key”,你就应该看到已经添加的Key
假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。
4.2创建远程仓库,并关联本地仓库
界面右上角找new reporitory,执行创建远程仓库
按提示创建本地仓库或直接绑定本地仓库
1、create a new repository on the command line
echo "# gof" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/qqchaozai/gof.git
git push -u origin master
2、push an existing repository from the command line
git remote add origin https://github.com/qqchaozai/gof.git
git push -u origin master
由于远程库是空的,第一次推送master
分支时,加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来,在以后的推送或者拉取时就可以简化命令。
git fetch:从远程获取最新版本到本地,不会自动merge
git pull:从远程获取最新版本并merge到本地
git push:推送本地版本到远程版本库
5分支管理
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
分支回退:git reset --hard a002085eabddf7041d7b999abd49d1bd234ae33a
本地强制提交:git push origin dev-stable-01 --force
6异常
1、You have not concluded your merge (MERGE_HEAD exists). Please, commit your changes before you can merge.
可能原因:以前pull下来的代码没有自动合并导致的
解决办法一:保留本地的更改,中止合并->重新合并->重新拉取
$:git merge --abort
$:git reset --merge
$:git pull
解决办法二:舍弃本地代码,远端版本覆盖本地版本
$:git fetch --all
$:git reset --hard origin/master
$:git fetch
爱家人,爱生活,爱设计,爱编程,拥抱精彩人生!
【工具】GIT简单使用相关推荐
- IDEA中Git及可视化工具TortoiseGit简单使用
Git教程 1. IDEA中git使用 1.1代码拉取 如果需要切换分支,可在项目上右键,Git中选择branches- 在弹出页面中,在远程分支模块中,移动到对应分支上点击checkout即可 1. ...
- 【Linux】基础开发工具的简单使用——yum/vim/gcc/gdb/make/git
文章目录 yum -- 软件包管理器 yum list -- 查看软件包 yum install -- 安装软件 yum remove -- 卸载软件 vim -- 文本编辑器 正常模式 底行模式 v ...
- 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)
首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...
- 猫猫学iOS 之第一次打开Xcode_git配置,git简单学习
猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243 一:错误 当第一次打开Xcode我们进行commit操作的时候会 ...
- [转]Windows环境中使用版本管理工具 Git
Git 是一个分布式版本控制工具 Git --- The stupid content tracker(傻瓜内容跟踪器),Linus 是这样给我们介绍 Git 的. Git 是用于 Linux 内核开 ...
- iOS系列开发-版本控制工具Git的使用
iOS系列开发-版本控制工具Git的使用 作为一个开发者,与团队之间默契的配合是很重要的,我们所写的代码在无论是在公司还是在个人来说都是一份不可随意丢弃的东西,但是如果只是单纯的开发,我们很难做到今天 ...
- 版本管理工具-Git
版本管理工具-Git 在我们学习编程的时候,一个项目的代码量很多,同事之间各司其职,这个时候统一项目的代码,完善项目的流程就非常重要了,像Git,Svn都是非常棒的项目管理工具,以下总结一下相关的简单 ...
- Git简单生成公钥和私钥的方法及git ssh key配置
Git简单生成公钥和私钥的方法 Git安装完之后,需做最后一步配置.打开git bash,分别执行以下两句命令 git config --global user.name "用户名" ...
- git管理工具 linux,linux系统下使用流行的版本管理工具 Git
前几天被版本管理困扰了好久,主要是因为 没法回到之前的版本,新版本又出了问题真的很尴尬. 终于决定使用目前网上很火的版本管理工具-------Git 历史啥的就不说了,说些有用的. 我用的是oschi ...
- AI:DeepSpeed Chat(一款帮用户训练自己模型的工具且简单/低成本/快 RLHF 训练类ChatGPT高质量大模型)的简介、安装、使用方法之详细攻略
AI:DeepSpeed Chat(一款帮用户训练自己模型的工具且简单/低成本/快 RLHF 训练类ChatGPT高质量大模型)的简介.安装.使用方法之详细攻略 目录 DeepSpeed Chat的简 ...
最新文章
- matlab cam orbit,如何在MATLAB中平滑旋转3D绘图?
- pandas中的函数—— .map()
- SQL*Loader之CASE8
- 偏置面命令_UG10.0 入门图文教程——同步建模之移动面
- Linux 指定运行时动态库路径【转】
- quartz各版本MySQL数据库存储建表SQL语句
- Ubuntu LVS DR模式生产环境部署
- jQuery包裹节点用法完整示例
- SWT: 发起事件 post event
- 基于PHP构建OAuth 2.0 服务端 认证平台
- java学习软件_刚学习java,用哪些学习软件比较好?
- easy poi 模板生成多表excel
- 台达内部速度指令_台达PLC连续脉冲输出如何控制速度
- python面向对象实例王者荣耀_用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例...
- python linux 执行scp,python 使用标准库连接linux实现scp和执行命令
- 显卡优化以提高计算机性能,《绝地求生》完美显卡优化教程:低配电脑也能吃鸡无压力!...
- 阿狸和桃子的游戏题解
- win101909要不要更新_win10游戏电脑要不要更新到1909版本?
- 数据库中文mybatis连接mysql数据库插入中文乱码
- 托福高频真词List10 // 附托福TPO阅读真题