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. JAVA Web实时消息后台服务器推送技术---GoEasy

    ---恢复内容开始--- 越来越多的项目需要用到实时消息的推送与接收,我这里推荐大家使用GoEasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送! 浏览器兼容性:GoEasy推送 ...

  2. Spring Bean 生命周期测试

    本文代码GitHub地址 Bean的生命周期是开始创建到销毁的过程.需要实现相关的类BeanNameAware   ,DisposableBean, InitializingBean ,并注册Inst ...

  3. Yii2 解决2006 MySQL server has gone away问题

    Yii2 解决2006 MySQL server has gone away问题 Yii2版本 2.0.15.1 php后台任务经常包含多段sql,如果php脚本执行时间较长,或者sql执行时间较长, ...

  4. Mybatis之旅第二篇-Mapper动态代理方式

    一.引言 通过上一篇mybatis的入门学习,我们已经会使用mybatis实现简单的增删改查,但是我们也发现了用原始Dao开发的一些问题: Dao方法体存在重复代码:通过SqlSessionFacto ...

  5. PhotoPickerDemo【PhotoPicker0.9.8的个性化修改以及使用(内部glide版本号是3.7.0)】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 本Demo使用的是PhotoPicker 0.9.8版本,属于比较旧的版本,里面集成的glide版本号是3.7.0.本篇文章主要是留 ...

  6. asp.netcore 深入了解配置文件加载过程

    前言     配置文件中程序运行中,担当着不可或缺的角色:通常情况下,使用 visual studio 进行创建项目过程中,项目配置文件会自动生成在项目根目录下,如 appsettings.json, ...

  7. VIM新手福利,配置向

    今天搜索VIM配置的时候,搜到一个神器 https://github.com/amix/vimrc The Ultimate vimrc Over the last 10 years, I have ...

  8. postgresql如何让主键自增

    法一: Sql代码 收藏代码 CREATE TABLE customers ( customerid SERIAL primary key , companyname character varyin ...

  9. jQuery(七)、效果和动画

    1 显示和隐藏 1.show([speed,[easing],[fn]]) 显示隐藏的匹配元素. 参数: (1) spend:三种预定速度之一的字符串('show','normal','fast')或 ...

  10. Spring中关于AOP的实践之AspectJ方式实现通知

    (本文中如有不当之处,恳请批评指正) AspectJ方式的简化了通知的出现复杂度.但是对配置文件的操作复杂度有了一定的提升 一. 配置通知 package com.xkx.adviceDemo; im ...