git密令使用
git密令是一种非常好用的代码版本管理工具,相比SVN,Sourcetree 使用起来复杂,主要是没有汉化包,当你使用熟练时,其实也是非常简单的,逼格高。
具体使用如下:
情景一:你只有远程库,没有本地库,你想克隆代码。你就需要下载并安装git,安装教程参考廖雪峰老师的网站 https://www.liaoxuefeng.com/wiki/896043488029600/896067074338496 ,安装好以后就可以克隆远程仓库了,你需要远程仓库的地址
复制这个地址,然后打开git,输入 git clone + 地址 就可以把远程仓库克隆到本地,你就有了远程库的代码,使用编辑器打开运行即可。
使用SSH,跟HTTPS 是有区别的,https是一个链接,有了这个链接谁都可以使用这个链接克隆代码。但是 SSH 必须有秘钥才行,秘钥在情景二。
情景二:你公司的仓库不是开源的,你要克隆就需要秘钥和公钥。公钥和秘钥是需要自己去生成的。 参考链接 https://blog.csdn.net/xiayiye5/article/details/79652296
生成密令
ssh-keygen -t rsa -C "Gitee或GitHub上设置的邮箱地址"
返回结果是这样的
(图片来源于网络,如有侵权请联系作者)
返回结果之后就可以在上述地址找到相应文件
地址可能会因为系统或者计算机不一样略有差异,请以密令返回结果为主
密令输入返回结果以后就可以在目标路径看到这样两个文件, .pub 结尾的是公钥,这个里面内容是需要添加到github网址内的。
(最近我的github老是打不开,不知道为什么)
右键用记事本打开 .pub 文件,复制里面的内容,文件最后是你的邮箱地址
登录 github 之后,点击头像,进入设置,然后就会找到 SSH ,然后会有两个输入框,一个是你为这个 公钥设置的名字(比如说公司,或者家),一个是公钥里面的字母串(结尾是你的邮箱),添加后保存就行了。
添加后再重复情景一就可以正常使用了。
情景三,你已经克隆了仓库代码,想要写东西,但是又怕弄乱别人的代码,你就需要自己建立一个属于你的分支。
建立你自己的分支
你运行公司代码后,想要写自己的代码,你不能在别人的分支上修改,你需要自己的分支
你在代码处打开 git 密令输入框 输入 git branch -r 查看远程分支列表 ,有时候领导会给你新建一个分支,有时候你得自己建立,所以你得先看一看有没有属于你自己的分支,
如果没有你就需要建立一个属于你的分支,要建立远程分支,你需要先建立本地分支 git checkout -b haha(创建并切换到某个分支) 这样就创建好了本地属于你的分支,名字叫 haha,并且直接在你的 haha 分支上
你可以用 git branch 查看本地分支列表,会有一个叫 haha 的分支名,然后你切换 haha 分支,
创建并切换之后,你需要把本地 haha 分支推送到远程 git仓库 git push origin haha:haha 把本地分支推送到远程
(打码部分为仓库地址,为你克隆或者添加分支的地址)
推送到远程之后,再查看分支
可以清楚的看到本地和远程都有 haha 分支,这样你就创建好了本地和远程的分支,然后你修改或提交都在 haha 分支完成
情景四 你今天的工作已经完成,你需要把代码提交到你的分支上
你已经写了一天的代码了,你领导让你把代码提交到仓库上
你需要用的密令有四个
git add . (注意后边有个 . ) 把修改的部分全部选中,你也可以不用 . ,修改那个选中哪个,一般都是全部选中的
git commit -m"提交时提交的备注" 这一步是把刚才选中的东西提交到暂存区域,暂存区域是在你本地,并不在远程
git pull 这一步是防止其他人往你的分支提交东西,造成冲突,这一步多用不扣分,就是为了避免一些冲突。将远程仓库东西拉到本地,如果有冲突先解决冲突,然后再重复 上述两个步骤,运行之后在 pull 一次。直到没有冲突为止。
git push 解决完冲突之后,就需要把你的暂存区域代码提交到远程仓库了。解决冲突之后运行这一步即可,然后远程仓库就可以看到你的代码修改了
情景五 你的代码提交了,你同事的代码也提交了,各自在各自的分支上,你需要合并你们两个的分支
你本地是你自己的分支,你需要在本地新建属于你同事的一个分支(参考情景三,不要推送到远程),然后两个关联起来
关联分支 密令 git branch --set-upstream-to=origin/haha 这里的分支名一定要跟你同事远程的分支名相同,避免不必要误会
下面就开始合并,合并时要先确定你本地和你远程属于你的分支代码同步
首先你需要切换到你同事的分支, git checkout 分支名 ,切换之后,在你同事的分支下在运行 git pull ,把你同事的远程代码拉到你的本地。
拉到本地之后,你在换到你自己的分支,运行 git checkout 你的分支名 ,
在你自己的分支下运行 git merge 分支名 合并指定分支到当前分支 ,
合并之后会有冲突,或者没有冲突。如果有冲突,你就需要解决冲突,解决之后
运行 情景四,运行之后你远程和你的本地都是最新的代码,这样你就完成了合并分支。
附代码密令
git checkout -b local_branch_name origin/remote_branch_name // 在本地基于远程的 remote_barnch_name 新建一个 local_branch_name 分支
git push origin local_branch_name // 把本地分支推到远程
git branch --set-upstream-to=origin/local_branch_name // 绑定远程分支
git pull --prune // 拉取所有远程分支的改动,包括新创建的分支 --prune 刷新本地分支缓存,会清除掉本地已经删除的分支名称
git checkout local_branch_name // 直接切换分支
git branch --set-upstream-to=origin/local_branch_name // 分支绑定 git status 常看仓库的状态,
git diff 常看git中文件的修改和改动 git init 初始化仓库,这个一般只在刚开始使用
git clone 仓库地址 本地目录 把远程仓库的代码克隆到本地 git add 把修改的文件添加到本地暂存区,
git commit -m ‘提交信息’ 把本地暂存区的代码提交到本地版本仓库
git push origin 本地分支:远程分支 把本地分支推送到远程
git branch 查看本地分支列表
git branch -r 查看远程分支列表
git branch 分支名 源分支名 创建一个新分支默认是当前分支
git checkout 分支名 切换分支
git checkout -b 分支名 创建并且切换一个分支
git fetch 更新远程仓库分支信息到本地
git merge 分支名 合并指定分支到当前分支
git pull 更新分支信息并合并当前分支的源分支到当前分支
git log 查看分支的提交日志记录
gitk --all 查看提交信息
git密令使用的更多相关文章
- Mac git 上传到 github
上传本地项目到github 1.初始化本地项目 进入到你的项目,根目录下git init,会在你的项目的根目录下多出一个.git的文件夹,也许你的mac隐藏了,但是用命令行或者vscode等工具是可以 ...
- git码云的使用基础(为了以后更好的协同操作)
git手册 安装教程 windows 不需要什么操作点点点就好 设置一个文件夹当成本地仓库 第一次上传 git init# 创建一个本地的仓库 git add. 当前文件夹下所有内容# 添加到暂存区 ...
- git常规使用命令笔记
使用git也有不短的时间,这篇文章主要默写自己在提交代码经常使用的一些密令,仅供参考并不是教程. git log 查看日志 git branch 查看分值 git branch Name 新建一个Na ...
- Git 子模块 - submodule
有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你 独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在 一个项目中使用另 ...
- Git 在团队中的最佳实践--如何正确使用Git Flow
我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...
- Git与Repo入门
版本控制 版本控制是什么已不用在说了,就是记录我们对文件.目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作... 一.原始版本控制 最原始的版本控制是纯手工的版本控制:修改文 ...
- Git Bash的一些命令和配置
查看git版本号: git --version 如果是第一次使用Git,你需要设置署名和邮箱: $ git config --global user.name "用户名" $ gi ...
- 在Ubuntu 16.10 安装 git 并上传代码至 git.oschina.net
1. 注册一个账号和创建项目 先在git.oschina.net上注册一个账号和新建一个project ,如project name 是"myTest". 2.安装git sudo ...
- 史上最详细git教程
题外话 虽然这个标题很惊悚,不过还是把你骗进来了,哈哈-各位看官不要着急,耐心往下看 Git是什么 Git是目前世界上最先进的分布式版本控制系统. SVN与Git的最主要的区别 SVN是集中式版本控制 ...
随机推荐
- bug宝典linux篇 LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory(转)
升级glibc库后,使用xShell登录linux,提示: Connecting to ... Connection established. To escape to local shell, pr ...
- python使用geopandas和shapely处理shp文件
一.环境搭建 所需库:geopandas (以及前置库) doc:http://geopandas.org/ shapely(以及前置库) doc: 二.数据预处理 1.将shp文件进行切片 2. ...
- revit安装未完成,某些产品无法安装的解决方法
revit提示安装未完成,某些产品无法安装该怎样解决呢?,一些朋友在win7或者win10系统下安装revit失败提示revit安装未完成,某些产品无法安装,也有时候想重新安装revit的时候会出现本 ...
- C++ 部分STL
map map可以理解为一个数组(但实质上并不是,只是方便理解),我们一般的数组不管定义成什么类型他的下标都是整型(int),map和这些数组的区别是他的下标可以是其他类型,由自己定义.map的创建. ...
- Nginx的四层和七层代理
理论部分: 所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器,它一般走的是tcp,udp协议 所谓七层负载均衡,也称为“内 ...
- JS数组去重算法
思路: 1.创建一个新的数组存放结果 2.创建一个空对象 3.for循环时,每次取出一个元素与对象进行对比,如果这个元素不重复,则把它存放到结果数组中,同时把这个元素的内容作为对象的一个属性,并赋值为 ...
- SpringMVC引入CSS等文件
在默认情况下Spring MVC 拦截了所有请求,所以自己要把静态资源配置起来,IDEA 在Spring-service 配置,eclipse在自己新建的SpringMVC配置文件里配置,如下代码 & ...
- idea如何使用git
1.安装好git(我下载的2.23.0版本百度网盘分享) 提取码 7ie1 2.配置git环境变量 Path 路径是你安装的git 目录下的bin目录 安装好后窗口命令输入git 可以测 ...
- leetcode笔记——35.搜索插入位置 - CrowFea
0.问题描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 12 输入: [1,3 ...
- Python---6条件判断与循环
条件判断 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现: age = 20 if age >= ...