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的更多相关文章

  1. Git 子模块 - submodule

    有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你 独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在 一个项目中使用另 ...

  2. Git 在团队中的最佳实践--如何正确使用Git Flow

    我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...

  3. Git与Repo入门

    版本控制 版本控制是什么已不用在说了,就是记录我们对文件.目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作... 一.原始版本控制 最原始的版本控制是纯手工的版本控制:修改文 ...

  4. Git Bash的一些命令和配置

    查看git版本号: git --version 如果是第一次使用Git,你需要设置署名和邮箱: $ git config --global user.name "用户名" $ gi ...

  5. 在Ubuntu 16.10 安装 git 并上传代码至 git.oschina.net

    1. 注册一个账号和创建项目 先在git.oschina.net上注册一个账号和新建一个project ,如project name 是"myTest". 2.安装git sudo ...

  6. 史上最详细git教程

    题外话 虽然这个标题很惊悚,不过还是把你骗进来了,哈哈-各位看官不要着急,耐心往下看 Git是什么 Git是目前世界上最先进的分布式版本控制系统. SVN与Git的最主要的区别 SVN是集中式版本控制 ...

  7. [版本控制之道] Git 常用的命令总结(欢迎收藏备用)

    坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...

  8. 【解决方案】Myeclipse 10 安装 GIT 插件 集成 步骤 图解

    工程开发中,往往要使用到集成GIT ,那么下面说说插件安装步骤 PS:以Myeclipse 10 为例,讲解集成安装步骤. ----------------------main------------ ...

  9. git 命令

    切换仓库地址: git remote set-url origin xxx.git切换分支:git checkout name撤销修改:git checkout -- file删除文件:git rm  ...

  10. git亲测命令

    一.Git新建本地分支与远程分支关联问题 git checkout -b branch_name origin/branch_name 或者 git branch --set-upstream bra ...

随机推荐

  1. Python脱产8期 Day07 2019/4/19

    一 数据类型的相互转化 1.哪些类型可以转换为数字类型 2.数字转换为字符串 print(str(10)) 3.字符串与列表相互转换 1.字符串转化为列表:list(字符串) 2.列表转换为字符串:' ...

  2. Hadoop Yarn调度器的选择和使用

    一.引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色.在讨论其构造器之前先简单了解一下Yarn的架构. 上图是Yarn的基本架构,其中ResourceManager是整个架构的核 ...

  3. [LOJ#2386]. 「USACO 2018.01 Platinum」Cow at Large[点分治]

    题意 题目链接 分析 假设当前的根为 rt ,我们能够在奶牛到达 \(u\) 之时拦住它,当且仅当到叶子节点到 \(u\) 的最短距离 \(mn_u \le dis_u\) .容易发现,合法的区域是许 ...

  4. Netty入门(二)之PC聊天室

    参看Netty入门(一):Netty入门(一)之webSocket聊天室 Netty4.X下载地址:http://netty.io/downloads.html 一:服务端 1.SimpleChatS ...

  5. java并发线程池---了解ThreadPoolExecutor就够了

    总结:线程池的特点是,在线程的数量=corePoolSize后,仅任务队列满了之后,才会从任务队列中取出一个任务,然后构造一个新的线程,循环往复直到线程数量达到maximumPoolSize执行拒绝策 ...

  6. Filebeat简介

    原文地址:http://blog.51cto.com/seekerwolf/2110174 收集日志的目的是有效的利用日志,有效利用日志的前提是日志经过格式化符合我们的要求,这样才能真正的高效利用收集 ...

  7. Mysql启动找不到mysql.sock文件问题(Centos7)

    刚装完Mysql5.7,将Mysql添加到开机自启.reboot之后mysql服务却没启动起来, 直接输入mysql –uroot –p ,出现如下错误,找不到mysql.sock文件.用servic ...

  8. H5 67-清除浮动方式三

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 线程中的samaphore信号量及event事件

    一.信号量 samaphore: 在程序中意思为同时允许几个线程运行,比如我们去水上乐园的滑梯玩时,有四个滑梯,每一个滑梯上当没有人在中间玩滑下去时才允许上人,四个滑梯1,2,3,4,同时最多四个人, ...

  10. VS如何在调试时进入到dll文件

    背景:    项目A:用C#写的一个类库文件 项目B:引用项目A的dll文件,完成编码,也是C#编写的. 需求:怎么能在调试的时候,调试断点能够从项目B中进入项目A中的代码. 解决办法就是: 假设,项 ...