我的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 ...
随机推荐
- Python-网络爬虫模块-requests模块之响应-response
当requests发送请求成功后,requests就会得到返回值,如果服务器响应正常,就会接收到响应数据: Response响应中的属性和方法 常用属性: status_code: 数据类型:int ...
- Python排序算法——选择排序
有趣的事,Python永远不会缺席! 如需转发,请注明出处:小婷儿的python https://www.cnblogs.com/xxtalhr/p/10787340.html 一.选择排序(Sele ...
- 深入理解[Master-Worker模式]原理与技术
Master-Worker模式是常用的并行模式之一.它的核心思想是,系统由两类进程协作工作:Master进程和Worker进程.Master进程负责接收和分配任务,Worker进程负责处理子任务.当各 ...
- 史上最全面的Elasticsearch使用指南
Elasticsearch使用指南 Elasticsearch使用指南 前言 ES是什么 什么是全文检索 ES的应用场景 ES的存储结构 第一章:安装 1.下载 2.解压 3.配置 4.启动 5.查看 ...
- .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中
不知你是否见过 try { } finally { } 代码中,try 块留空,而只往 finally 中写代码的情况呢?这种写法有其特殊的目的. 本文就来说说这种不一样的写法. 你可以点开这个链接查 ...
- [LeetCode] Rank Scores -- 数据库知识(mysql)
Write a SQL query to rank scores. If there is a tie between two scores, both should have the same ra ...
- 工作时间看股票:采用Excel RTD技术获取和讯网的实时股票行情及深沪港最新指数
本文地址:http://www.cnblogs.com/Charltsing/p/RTD.html QQ:564955427 在Excel里面获取实时数据大概有几种方式:1.定时器+函数2.DDE3. ...
- 解决远程连接mysql很慢的方法(网络正常)
最近用mysql命令行或者JDBC远程连接mysql速度很慢,而且远大于ping时间.上网搜了一下,解决方案如下: 在/etc/mysql/my.cnf文件的[mysqld]部分加入:skip-nam ...
- CopyOnWriteArrayList源码分析
基于jdk1.7源码 一.无锁容器 CopyOnWriteArrayList是JDK5中添加的新的容器,除此之外,还有CopyOnWriteArraySet.ConcurrentHahshMap和Co ...
- JavaScript中防止重复提交
有这么一种情况: 页面有一个按钮,点击之后会触发Ajax请求,但是用户在点击之后,不知道是否点成功了,于是又点了一下,如果不加处理的话,就会进行两次Ajax请求,并且请求的数据都是一样的,对后端的程序 ...