我的Git
1、git 的安装与配置。
首先,对git进行下载。然后,在本地安装后进行版本查看,win10系统通过win+r快捷键打开控制台,然后用git --version的cmd命令查看git版本。
然后对git进行配置。配置的英语是config。因此,在cmd里面进行语句。
git config --global user.name "qingshanyici"
git config --global user.email qingshanyici@163.com
通过git config -l查看目录。
2、git的使用
有两种方式,本地的上传,网络上的下载下来使用。
git init new_demo 会创建一个新的git仓库。
cd new_demo会进入这个目录。
ls-la 查看仓库的目录,windows系统用dir/a。
cd..在cmd里面可以返回上一级。
ctrl+l可以让cmd清屏。windows系统用不了,可以通过输入cls进行清屏。
git clone+某个文件的仓库地址,可以进网络上的下载下来。bitBucket克隆代码的时候,不能直接克隆网页地址。克隆下来的git地址,网址末尾是.git。
3.commit有犯错,承诺的意思,在git里就是后悔药!
git status查看有没有保存后悔药啊。
git add . 将所有文件加入暂存区,小心后面那个点。只是暂存哦,不是造好了后悔药。
【git add 文件名称】:只把该文件存入暂存区。
git commit -m "这才是建好了后悔药!m是描述的意思哦。"
git commit -m "用来描述你存的这个后悔药!"
git log 查看版本记录,看看保存了多少个后悔药。按q就能退出来了。
j和k在命令行里分别表示前进和后退,q是退出。
git checkout 身份证前7位,可以查看历史节点上的后悔药。
4.git的三种状态
【git checkout -】:表示返回git的上一版本。
后悔药的制造流程遵循这三步:修改-->add-->commit。不要小瞧修改,之前总是犯错就是因为没有修改就想对git操作,用【git status】命令已查看,显示“nothing to commit, working tree clean”,所以,修改后才能开始造后悔药啊!
modified,表示文档已经被修改。
staged,表示文档已暂存。
commited,表示文档已提交。
【git log -p】:查看修改的详细信息。p是patch的意思。
【git log --oneline】:版本信息太长的时候,该指令让信息一行显示。
【git log --oneline --all】:所有版本信息都显示。
5.git的标签
标签是用来对重要的节点来进行记录的,比如小说已经完成,那么这个地方打一个标签【一稿】,后来对小说又进行删改、校验之类的操作,这里就可以再打一个标签【二稿】。标签就是这么用的。
【git add -a 标签名 -m “相关信息描述”】:a是annotated(有注释的)。
【git tag】:显示已有的标签。
【git tag -a 标签名 -m'相关信息描述' 身份证号】:在历史节点上打标签。
【git show 标签名】:查看该标签的详细信息。谁添加的tag,添加的时间。
【git checkout 标签名】:回到这一版。
6.git的分支
【git branch 分支名】:创建新的分支。
【git checkout 分支名】:切换到这个分支上。
【git checkout -b 分支名】:创建并切换到该分支上。
【git log --all】:会显示head在谁上,head-->master,或是head-->分支名。
【git checkout master】:再返回到原来的主支线上。
【git log --all --graph】:用图形的方式显示出支线的关系。
【git branch -D 分支名】:删除某个分支,注意要切换到其它分支上才能删除分支。而且记得要merge掉这个分支之后,再删除这个分支哦。
注意:github并不会给个人仓库提供创建分支的方法,想要创建分支,只能在本地上创建。bitbucket提供创建分支的方法。创建个人分支选择feature+个人分支名,hotbranch一般用于紧急修复bug类创建的。
7.branch的合并
【git checkout -b 分支名】:创建并切换到该分支。
【git checkout master】:返回到主分支上。
【git merge 分支名】:合并分支。
8.git的远程操控
【git remote add 远程仓库名称 远程仓库网络地址】:创建你要上传的远程仓库的地址。
报错1:在使用这个命令的时候,遇到了not a git repository (or any of the parent directories)这样的错误,解决方法就是先用命令【git init】对git先初始化一下。
【git remote】,查看所有的远程仓库。
【git remote -v】,查看远程仓库的地址和用户名,fetch是下载地址,push是上传地址。
【git push -u】 远程仓库名称 分支名,将代码推上去,推代码的时候要加上-u,否则往下拖代码的时候会有麻烦。master是默认的分支名称。
【git clone 远程仓库网络地址】:克隆网上的代码(在你的目录完全为空的情况下)。origin是默认的远程仓库名称。
【git remote set-url origin <newurl>】,有时候代码迁移了,需要修改远程仓库的url位置,这时候通过该命令修改远程仓库位置。
报错2:但是这里有个要注意的点,如果你首先在网络上创建了一个仓库,然后又在本地创建了一个仓库,那么这两个仓库是独立的,拉代码和传代码的时候往往会出错,比如这样的报错:
-refusing to merge unrelated histories
为了解决两个独立仓库的问题,需要使用【git pull 远程仓库名 master --allow-unrelated-historie】命令,首先把代码pull下来并且进行合并,然后再做其他操作。
报错3:
error: failed to push some refs to 'https://git.dev.tencent.com/wxt1/56laile_comeget.git'
是因为本地缺少readme文件。
解决方法:首先输入git pull --rebase origin master命令。然后输入git push -u origin master即可完成代码上传。
原博客地址:https://www.cnblogs.com/yiduobaozhiblog1/p/9125465.html
报错4:
unable to updataurl base from redirection.
出现这种错误,是远程仓库的地址设置错误。我设置错误的原因是clone地址的时候,克隆成了网页的地址。要找到git克隆的网站的按钮,复制该路径克隆下来。克隆下来的路径末尾最后是.git。
9.选择远程仓库上的一个分支拉到本地
本地没有仓库,却只是想拉下远程仓库的一根分支(不一定是master),参考这篇博客:
https://blog.csdn.net/carfge/article/details/79691360
假设要拉的远程分支名为laiquDev,具体步骤:
【git init】:初始化本地git
【git remote add origin 远程仓库地址】:添加远程仓库地址
【git fetch origin laiquDev】:将远程分支拉到本地,origin是远程仓库的默认名字,laiquDev是分支的名字。一天
【git checkout -b laiquDev origin/laiquDev】: 本地新建liaquDev分支,并切换到该分支上。
到这里就可以结束了,可以看到本地已经有了laiquDev这个分支和代码。也可以用【git pull origin laiquDev】再将代码拉一遍,确保同步。
10.删除仓库
在github上,找到setting选项,可以选择删除仓库。
11、选择远程仓库上的某一个分支拉到本地
如果本地拥有仓库,并且在a分支上。远程仓库里有a、official-handleAuth两根分支,想要把b拉到本地,有以下两步:
【 git fetch origin official-handleAuth】:这一步是将远程仓库的分支official-handleAuth拉到本地。
【git checkout -b official-handleAuth origin/official-handleAuth】:将official-handleAuth分支的内容拉到本地。
12.git stash存在的意义
在开发过程中,希望回溯到某个之前的版本,但是本地刚刚修改了某些代码,而且还没有修改完,所以并不想要提交现在的代码。因此,git stash就有用了。
- 使用git的时候,我们往往使用分支(branch)解决任务切换问题,例如,我们往往会建一个自己的分支去修改和调试代码, 如果别人或者自己发现原有的分支上有个不得不修改的bug,我们往往会把完成一半的代码
commit
提交到本地仓库,然后切换分支去修改bug,改好之后再切换回来。这样的话往往log上会有大量不必要的记录。其实如果我们不想提交完成一半或者不完善的代码,但是却不得不去修改一个紧急Bug,那么使用git stash
就可以将你当前未提交到本地(和服务器)的代码推入到Git的栈中,这时候你的工作区间和上一次提交的内容是完全一样的,所以你可以放心的修Bug,等到修完Bug,提交到服务器上后,再使用git stash apply
将以前一半的工作应用回来。
【git stash list】: 查看暂存分支
【git stash save ‘saveMsg’】: 保存暂存信息
【git stash show】: 查看做了什么改动,只显示哪些文件呢做了修改。
【git stash pop stash@{$num} 】: 应用并删除第num个暂存信息。比如应用并删除第二个:git stash pop stash@{1},因为是从0开始的
12.git stash存在的意义
我的Git的更多相关文章
- 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是集中式版本控制 ...
- [版本控制之道] Git 常用的命令总结(欢迎收藏备用)
坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...
- 【解决方案】Myeclipse 10 安装 GIT 插件 集成 步骤 图解
工程开发中,往往要使用到集成GIT ,那么下面说说插件安装步骤 PS:以Myeclipse 10 为例,讲解集成安装步骤. ----------------------main------------ ...
- git 命令
切换仓库地址: git remote set-url origin xxx.git切换分支:git checkout name撤销修改:git checkout -- file删除文件:git rm ...
- git亲测命令
一.Git新建本地分支与远程分支关联问题 git checkout -b branch_name origin/branch_name 或者 git branch --set-upstream bra ...
随机推荐
- java操作Redis缓存设置过期时间
关于Redis的概念和应用本文就不再详解了,说一下怎么在java应用中设置过期时间. 在应用中我们会需要使用redis设置过期时间,比如单点登录中我们需要随机生成一个token作为key,将用户的信息 ...
- 初学Python——文件操作第二篇
前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...
- Generative Adversarial Nets[Theory&MSE]
本文来自<deep multi-scale video prediction beyond mean square error>,时间线为2015年11月,LeCun等人的作品. 从一个视 ...
- linux学习问题总结
目录 一.环境变量和普通变量的区别 二.rsyslog和logrotate会不会丢记录的问题 三.为什么有些文件夹大小不是4096的整数倍 四.reboot和shutdown等软链接实现原理 五.sy ...
- django url之path默认参数
url path指向视图创建和更新数据 实例: from django.urls import path from . import views urlpatterns = [ path('blog/ ...
- SCOI2019d1t1平台跳跃[高精]
分析 首先考虑相邻柱子之间没有浮台. 记前 \(m-1\) 个盘子为 x, 第 \(m\) 个盘子为 y,有如下过程:\(x\rightarrow C, y\rightarrow B, x\right ...
- node express 静态资源
实例代码 const express = require('express') const path = require('path') const app = express() app.use(e ...
- Docker入门 第一课 --.Net Core 使用Docker全程记录
微服务架构无疑是当前最火热的开发架构,而Docker作为微服务架构的首选工具,是我们必须要了解掌握的. 我通过一天的时间,网上查文档,了解基础概念,安装Docker,试验Docker命令,通过Dock ...
- 朱晔的互联网架构实践心得S2E2:写业务代码最容易掉的10种坑
我承认,本文的标题有一点标题党,特别是写业务代码,大家因为没有足够重视一些细节最容易调的坑(侧重Java,当然,本文说的这些点很多是不限制于语言的). 1.客户端的使用 我们在使用Redis.Elas ...
- easyui datagrid 相关取数据总结
easyui 中datagrid$('#dg').datagrid('getSelected');返回第一个被选中的行或如果没有选中的行则返回null.$('#dg').datagrid('getSe ...