git的使用

1.git介绍

git是什么:git是目前最先进的分布式版本控制系统

 

git的诞生:

 

  1. 为了linux的代码管理
  2. linux的创建者linus反对使用CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用
  3. 2002年,代码库很难继续通过手工方式管理了,于是Linus选择了一个商业的版本控制系BitKeepe
  4. 2005年,开发Samba的Andrew试图破解BitKeeper的协议,被BitMover公司发现并收回Linux社区的免费使用权
  5. Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已由Git管理了

2.git核心概念

git 最核心的一个概念就是工作流

  • 工作区(Workspace)是电脑中实际的目录。
  • 暂存区(Index)类似于缓存区域,临时保存你的改动。
  • 仓库区(Repository),分为本地仓库和远程仓库

 

 

 

3.git配置

  1. /etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。

            若使用 git config 时用 --system 选项,读写的就是这个文件。

       2.  ~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。

            若使用 git config 时用 --global 选项,读写的就是这个文件。

       3.  git/config 文件当前工作目录中的 .git/config 文件

            这里的配置仅仅针对当前项目有效。

 

4.git仓库

4.1创建本地仓库

  1. 确定好存放代码的目录:mdkir mygit 
  2. 进入到mygit目录后执行命令:git init
  3. 这时候会在mygit目录下生成一个.git文件夹,本地git仓库创建完成
  4.  创建一个readme.txt文件,并输入对项目的描述信息
  5. 提交readme.txt到本地缓存区:git add readme.txt
  6. 提交readme.txt到本地仓库: git commit -m “first commit”

4.2创建远程仓库

 

  1. 登录github,然后,在右上角“+”找到“Create a new repo”按钮,创建一个新的仓库
  2. Repository name填入mygit,其他保持默认,点击“Create repository”按钮,就成功地创.  建了一个新的Git仓库
  3. 本地仓库与远程仓库进行关联git remote add origin git@github.com:xxxx/mygit.git
  4. 把本地仓库的所有内容推送到远程仓库:git push -u origin master

 

      注意:第一次推送master分支时,加上了-u参数,Git把本地的master分支内容推送的远程master分支,同时把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就不用指定分支名称了

4.3 从远程仓库克隆代码

 

  1. 前面我们讲了现有本地库,后有远程库,然后把本地库和远程库做了关联。
  2. 在实际工作中,我们通常是先有远程库,然后从远程库克隆代码到本地进行开发

 

具体流程:

  1. 登录github,然后,在右上角“+”找到“Create a new repo”按钮,创建一个新的仓库
  2. Repository name填入mygit,选择“Initialize this repository with a README”,其他保持默认,点击“Create repository”按钮,就成功地创建了一个新的Git仓库
  3. 在本地切换到保存代码的路径,执行命令:git clone  git@github.com:xxxx/mygit.git

5.git常用命令

5.1 分支操作

  • 列出所有本地分支: git branch
  • 列出所有本地分支和远程分支:git branch -a
  • 新建一个分支,但依然停留在当前分支:git branch [branch-name] 
  • 新建一个分支,并切换到该分支:git checkout -b [new_branch] [remote-branch]
  • 切换到指定分支,并更新工作区:git checkout [branch-name]

5.2 文件添加

  • 添加当前目录的所有文件到暂存区:git add .
  • 添加指定文件到暂存区:git add <file1> <file2> …
  • 添加指定目录到暂存区,包括其子目录:git add <dir>

5.3 代码提交

  • 添加指定文件到暂存区:git add <file1> <file2> …
  • 提交暂存区到仓库区:git commit -m [message]
  • 修改上次的提交信息:git commit --amend
  • 上传本地指定分支到远程仓库:git push

5.4 代码拉取

  • 更新远程仓库的所有变动(只更新最新的分支好,不做代码合并)git fetch
  • 更新远程仓库的变化,并与本地分支合并:git pull [remote] [branch]

5.5 git fetch 和 git pull的差异

 

 

 

 

 

 

 

 

 

 

 

 

5.6 撤销修改

  • 查看本地哪些文件被修改:git status
  • 撤销工作区文件的修改,就是让这个文件回到最近一次git commitgit add时的状态:git checkout -- file1
  • 如果文件已经添加到暂存区,同过以下命令撤销后文件又回到工作区,工作区文件是修改状态:git reset HEAD file1

 

5.7 冲突解决

冲突一般是在我们合并代码的时候会经常出现,假设我们要将dev分支的代码合并到master分支

  1. git checkout master
  2. git merge dev(这时候可能会出现冲突)
  3. git status(可以查看哪些文件冲突)
  4. git<<<<<<<=======>>>>>>>标记出不同分支的内容
  5. 我们打开对应的文件进行冲突解决
  6. 解决完之后把文件需要重新进行推送

         git  add  file1

         git  commit -m  ”conflict fixed”

        git  push

6.git分支规范

 

 

7.git一些案例

7.1 创建远程仓库

 

 

7.2 配置ssh

 

 

7.3 下载远程代码

 

 

7.4 提交代码

 

 

7.5 更新代码之git fetch

 

 

 

 

7.6 更新代码之git pull

 

 

 

 

7.7 冲突解决

 

 

 

 

 

 

 

 

7.8 撤销修改

 

 

 

 

 

 

 

 

 

 

 

posted @ 2021-04-27 14:25  奋斗的小孩_小小鸟  阅读(61)  评论(0)    收藏  举报