1、git提交全部文件的基本步骤:

  1)git status:查看修改内容

  2)git add XX :添加XX文件到暂存区,如果修改内容比较多,可以使用git add -A .来一次性添加所有文件(-A后来有个点.);git add .:表示添加新文件和修改的文件(不包括删除的文件);git add -u:表示添加编辑和删除的文件,不包括新增的文件。

  3)git commit -m '修改说明':提交修改内容,从暂存区提交到仓库

  4)git push origin 分支名称,如下面的git push origin master:和远程仓库同步

2、安装客户端

  去网站 https://git-scm.com/downloads 选择自己需要的版本,下载安装,我选的是windows版本

   

  下载完成后,开始安装

  

  ------》Next

  

  Additional icons

    On the Desktop:添加到桌面图标

  Windows Explorer integration:浏览源码的方法,使用Bash或者使用Git GUI工具

  Git LFS:支持大文件

  Associate .git* configuration:是否关联git配置文件,该配置文件主要显示文本编辑器的样式

  Associate .sh files to be tun wish Bash:关联shell脚本文件,即是否关联Bash命令执行的脚本文件

  ------》Next

  

  选择编辑器

  ------》Next

  

  设置环境变量:选择Git命令

  Use Git from Git Bash only:

    使用Git自带的Git Bash命令行工具

  Git from the command line and also from 3rd-party software:

    使用windows系统的命令行工具

  Use Git and optional Unix tools from the command Prompt:

    二者都有,即上面两者同时配置,但是注意,这样会使得windows中的find.exe和sort.exe工具覆盖

  如果不懂的话,尽量默认选择

  ----》Next

  

  选择提交时的换行格式:

    Checkout Windows-style, commit Unix-style line endings:将windows格式的换行转换为Unix的换行再提交

    Checkout as-is, commit Unix-style line endings:不论什么格式,一律转化为Unix格式换行提交

    Checkout as-is, commit as-is:不转化,查出原来是什么就怎么提交

  ----》Next----》Next。。。知道安装完成

3、设置用户名和邮箱

  git config --global user.name "fionazhong"

  git config --global user.email "youremail@xx.com"

  

  注:git config --global 参数:有了这个参数,表示你这台机器上的所有的Git仓库都会使用这个配置。当然也可以针对某个仓库单独指定不同的邮箱和用户名

4、使用本地仓库

  1)创建版本库:

    版本库(repository):简单理解就是一个目录,一个可以被git管理的目录,目录中所有的文件的增删改都可以被git跟踪管理,以便将来追溯或还原版本

    

    这时候,我的flask_api目录下面就多了一个.git文件夹目录,这个目录是Git用来跟踪管理版本的

    

  2)把文件添加到版本库中

    在上面的flask_api目录下面新建一个文件test.txt,并写入内容1234567

    

    要把这个文件添加到版本库中,有两步:

      1)使用git add test.txt,将文件添加到暂存区里

      2)使用git commit -m "提交说明",将文件提交到仓库

      

  3)查看修改内容:

    git diff test.txt

    如我修改flask_api下面的test.txt文件,新增一行7654321

    使用git status:可以查看做了什么操作

    使用git diff:可以查看和版本库中的版本对比,有哪些不同

    

  4)版本回退

    我们继续修改test.txt文件,增加一行内容 147258369

    然后我想要看一下,我对文件修改的历史记录,可以使用git log,如下,可以看到三次修改内容

    

    上面展示内容过多,我们希望展示的简单一点,可以使用git log --pretty=oneline

    

    现在我想要把当前版本回退到上一个版本,需要怎么做呢?

    第一种方法:git reset --hard HEAD^,如果要回退到上上个版本呢?HEAD后面多加一个^,即git reset --hard HEAD^^

          估计不少人就要说了,那我要是要会退到前第100个版本呢?

    第二种方法:我们可以使用下面的命令:git reset --hard HEAD~100

    查看回退后的内容:cat test.txt

    

    如果我们又想要回退到最新的代码,怎么做呢?可以使用 git reset --hard 版本号来回退

    所以我们要如何知道版本号呢?

    可以使用 git reflog

    

    最新的版本号是3db1691

    使用 git reset --hard 3db1691,即回退到了最新版

    然后我们再查看回退后的内容,看到,内容回来了。

    

  5)工作区和暂存区

    上面已经说过,通过git add 将文件添加到了暂存区,通过git commit实质就是讲暂存区的所有内容提交到当前分支上。

    比如,我现在继续修改我的文件test.txt,在里面添加 11111111 然后使用git add test.txt,然后在修改文件添加22222222,接下来使用git reset -- test.txt,再查看文件,发现后来添加的2222222没有了。

    原因就是使用git add test.txt后,已经将修改的内容放在了暂存区,

    

    注意:上面的使用git checkout -- test.txt中 -- 很重要,如果没有的话,那么命令就变成创建分支了。

  6)撤销修改:

    方法1:使用上面的git checkout -- test.txt 可以丢弃工作区的内容

    方法2:如果知道哪些修改内容的话,我们可以手动的删除掉,再add commit

    方法3:可以按照上面说的直接回退到上一个版本 git reset --hard^

  7)删除及撤销删除文件

    在目录下新建test1.txt,然后执行add及 commit命令,将文件添加到版本库

      方法1:手动删除文件,然后执行add 及commit

      方法2:rm test1.txt,然后执行add及commit

    要撤销删除,需要在未执行commit之前,可以执行git checkout -- test1.txt即可

5、使用远程仓库

  1)创建一个GitHub账号

    https://github.com
   2)由于本地仓库和GitHub仓库之间是通过SSH加密传输的,因此需要设置ssh key

    先打开自己电脑的主目录,看是否有id_rsa和id_rsa.pub两个文件,如果没有的话,在git客户端命令行中输入如下命令:

    ssh-keygen -t rsa -C "youremail@xx.com"

    

  --------》会生成如下两个文件,id_rsa是私钥,id_rsa.pub是公钥

    

  3)将id_rsa.pub中的内容复制到GitHub中的ssh key中

    

    title可以任意命名,然后将id_rsa.pub中的内容复制到key中,点击Add SSH key按钮即可

  

  4)创建远程仓库

    

  5)本地仓库和远程仓库同步:

    1)git init:将本地仓库变成可git管理

    2)在本地仓库运行如下命令:

      git remote add origin 你的远程仓库地址

      

    3)再运行git push -u origin master,将本地仓库中当前分支的内容同步到远程仓库去

       由于远程仓库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地master分支的内容推送到远程新的master分支,还会把本地master分支和远程master分支关联起来。

       以后再推送或者拉取的时候,可以简化命令,推送成功过后,我们再去GitHub上面查看我们的分支,可以看到和我们本地一样的内容了。

      

     后面如果我们本地做了修改,提交代码后,只需要运行git push origin master,即可将本地最新修改同步到GitHub上的master分支上。

    

  6)从远程分支上克隆代码到本地

   我们在GitHub上面,新建一个仓库testgit,并在里面新建一个文件test,输入内容this is a test file

   

   然后在本地运行如下命令:

   git clone github地址

    

   然后再去我们的本地仓库查看,发现我们成功的从远程仓库中克隆了代码。

    

6、创建与合并分支

    创建新分支:git branch dev

    切换到新分支:git checkout dev

    创建并切换新分支:git checkout -b dev1

    查看当前所有分支:git branch,在当前分支的前面会加一个*号

    合并dev分支到master分支:git merge dev, git merge命令用于合并指定分支(dev)到当前分支上(master)

    删除dev分支:git branch -d dev

7、解决冲突

    

8、bug分支

   在开发过程中遇到一个bug,但是我的分支上面还有任务没有解决完成,这个时候,需要新建一个bug分支来解决bug,解决完成后合并到master分支,删除bug临时分支。

  1)将dev开发分支暂存:git stash

  2)切换到需要修复bug的分支,以master为例

  3)在master分支上创建一个临时分支:git checkout -b bug_branch

  4)在bug_branch分支上修改完成后,切换回master分支,然后将bug_branch分支上的修改合并过来:git merge --no-ff -m "fix some bug" bug_branch

  5)删除bug分支:git branch -d bug_branch

  6)切换回开发分支:git checkout dev

  7)查看前面暂存的内容:git stash list

  8)恢复之前暂存的内容:

    1) git stash apply:恢复后,stash内容并不删除,需要我们运行git stash drop来手动删除

    2) git stash pop:恢复的同时,删除stash内容

9、Git常用命令:

  1)mkdir XX:创建一个名为XX的目录

  2)pwd:显示当前目录的路径

  3)git init:把当前目录变成可以管理的git仓库,生成隐藏的.git文件

  4)git add xx:把xx文件添加到暂存区

  5)git commit -m "提交说明":将暂存区的内容推送到git仓库中

  6)git status:查看仓库状态

  7)git diff xx:查看xx文件修改了哪些内容

  8)git log:查看历史记录(Q退出)

  9)git reset --hard HEAD^ 或者git reset --hard HEAD~回退到上个版本

  10)cat XX:查看XX文件的内容

  11)git reflog:查看历史记录的版本号id

  12)git checkout -- xx:把xx文件在工作区的修改内容全部撤销

  13)git rm xx:删除xx文件

  14)git remote add origin git仓库地址:关联一个git远程仓库

  15)git push -u origin master:把当前master分支推送到远程库(第一次使用的时候,需要加上-u,后面不再需要-u)

  16)git clone git仓库地址:从远程仓库中克隆

  17)git checkout -b dev:创建dev分支并切换到dev分支

  18)git checkout master:切换分支到master

  19)git branch:查看当前所有分支

  20)git branch name:创建名为name的分支

  21)git merge dev:在当前分支上合并dev

  22)git stash:把当前工作隐藏起来,等以后恢复现场后再继续使用

  23)git stash list:查看隐藏的所有文件列表

  24)git stash apply:恢复隐藏的文件,但是隐藏的内容不删除

  25)git stash drop:删除隐藏文件

  26)git stash pop:恢复隐藏文件并删除

  27)git remote:查看远程库的信息

  28)git remote -v:查看远程库的详细信息

  29)git push origin master:git会把master分支推送到远程仓库对应的分支上

   

10、常见错误:

  

注:如果此时出现了如下错误:

  1)在使用git push -u origin master的时候,出现如下错误:

    ! [rejected] master -> master (non-fast-forward)

      

    原因是:远程仓库中存在本地不存在的文件

    解决方案:按照提示中的使用git pull... 将远程的文件拉到本地仓库中:

      git pull origin master --allow-unrelated-histories

      

      此时再使用git push origin master就可以成功了。

  2)如果出现以下错误:

    fatal: the remote end hung up unexpectedly

    

    错误出现的原因:一般是因为上传的文件太大导致

    解决方案:我们可以通过修改允许上传的文件大小来解决这个问题:

    在我们使用git init生成的.git 文件夹下的config文件中,添加下面2行即可:

   

git客户端的安装及使用的更多相关文章

  1. Git客户端的安装与配置入门

    GitLab与Git客户端的安装与配置入门,每次配置完一段时间,就忘记配置过程了,为了自己和同学们以后有所参照,特记录了本次下载和配置,其实Git就是一个版本控制系统,类似于SVN,CVS等 下载:W ...

  2. GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流

    最近听同事说他都在使用GitHub,GitHub是程序员的社区,在里面可以学到很多书上学不到的东西,所以最近在准备入手这方面的知识去尝试学习,正好碰到这么详细完整的文章,就转载了,希望对自己和大家有帮 ...

  3. 【代码管理】GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流

    GitHub操作总结 : 总结看不明白就看下面的详细讲解. . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details ...

  4. Git客户端图文详解如何安装配置GitHub操作流程攻略

    收藏自 http://www.ihref.com/read-16377.html Git介绍 分布式 : Git版本控制系统是一个分布式的系统, 是用来保存工程源代码历史状态的命令行工具; 保存点 : ...

  5. windows安装git客户端

    1:线上git地址 https://github.com/ 2:tortoiseGit地址 http://tortoisegit.org 3:安装步骤 操作系统:Windows XP SP3 Git客 ...

  6. Git客户端TortoiseGit(Windows系统)的使用方法

    本文环境: 操作系统:Windows XP SP3 Git客户端:TortoiseGit-1.8.8.0-32bit 一.安装Git客户端 全部安装均采用默认! 1. 安装支撑软件 msysgit: ...

  7. Git客户端(Windows系统)的使用

    本文环境: 操作系统:Windows XP SP3 Git客户端:TortoiseGit-1.8.5.0-32bit 一.安装Git客户端 全部安装均采用默认! 1. 安装支撑软件 msysgit:  ...

  8. Git客户端(Windows系统)的使用(Putty)(转)

    本文环境: 操作系统:Windows XP SP3 Git客户端:TortoiseGit-1.8.14.0-32bit 一.安装Git客户端 全部安装均采用默认! 1. 安装支撑软件 msysgit: ...

  9. Git客户端搭建环境(Windows系统)的使用

    本文环境: 操作系统:Windows XP SP3 Git客户端:TortoiseGit-1.8.8.0-32bit 一.安装Git客户端 全部安装均采用默认! 1. 安装支撑软件 msysgit:  ...

随机推荐

  1. .NET+PostgreSQL实践与避坑指南

    简介 .NET+PostgreSQL(简称PG)这个组合我已经用了蛮长的一段时间,感觉还是挺不错的.不过大多数人说起.NET平台,还是会想起跟它“原汁原味”配套的Microsoft SQL Serve ...

  2. 【转载】 mybatis入门系列四之动态SQL

    mybatis 详解(五)------动态SQL 目录 1.动态SQL:if 语句 2.动态SQL:if+where 语句 3.动态SQL:if+set 语句 4.动态SQL:choose(when, ...

  3. VS Code实用技能1 - 代码折叠、面包屑

    VS Code实用技能 VS Code实用技能1 - 代码折叠.面包屑 一.代码折叠 ubuntu ctrl + shift + { ctrl + shift + } ctrl + k , ctrl ...

  4. springboot~Money类型在序列化时遇到的问题与解决

    在java扩展包里,有这样一个包,它可以描述货币类型,它说币种和金额组成,可以应用在任何复杂的场合里,这个对象结构如下: { "price": { "amount&quo ...

  5. Flink从入门到放弃(入门篇4) DataStreamAPI

    戳更多文章: 1-Flink入门 2-本地环境搭建&构建第一个Flink应用 3-DataSet API 4-DataSteam API 5-集群部署 6-分布式缓存 7-重启策略 8-Fli ...

  6. 10分钟明白对偶建模法 / +Leampms的“主模型建模”和“对偶模型建模” 之 —— 三类最短路径问题

    摘要 对偶模型建模是非常有独特的一种建模方式 —— 当问题本身要求指标极小的情况下,对偶模型表现为求极大.本文给出三种最短路径问题的线性规划/混合整数规划模型,其中的第三类最短路径问题采用对偶建模方法 ...

  7. 痞子衡嵌入式:第一本Git命令教程(0)- 索引

    大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家讲的是Git命令汇编,共12篇文章,循序渐进地介绍Git操作的完整过程. 在开始Git课程之前,需要先跟大家普及2个重要概念(四度空间.四种状 ...

  8. H5 可堆叠的圆环进度条,支持任意数量子进度条

    by Conmajia SN: S22-W1M 由来 看到一篇帖子<vue实用组件--圆环百分比进度条>,让我想起了很多年前我在WinForm下仿制过的Chrome进度条. ▲ 原版进度条 ...

  9. 校园生活app结对开发第一天

    今天刚开始开发,要安装android studio及熟悉软件操作

  10. Java中数组的插入,删除,扩张

    Java中数组是不可变的,但是可以通过本地的arraycop来进行数组的插入,删除,扩张.实际上数组是没变的,只是把原来的数组拷贝到了另一个数组,看起来像是改变了. 语法: System.arrayc ...