git基本使用

git

基本配置

1.设置用户名和邮箱

$ git condig --global user.name “Your Name”

$ git config --global user.email “Your Email”

2.查看用户名和邮箱

$ git config user.email

$ git config user.name

git/Linux的常见命令

1.创建文件夹

$ mkdir xxx

$ cd xxx 进入xxx文件

$ vi x.txt(新建/编辑文件)

i 进入编辑模式

ESC :wq 保存并退出

ESC:q! 不保存并退出

cd … cd…/进入上一层文件夹

ls 列出当前文件夹中的所有文件

pwd 显示当前目录

cat x.txt 显示文件内容

clear 清屏

工作区+版本区+暂存区

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dzWYMhoF-1604143150598)(C:\Users\jry\AppData\Roaming\Typora\typora-user-images\image-20201029131906701.png)]

**工作区:**项目文件夹,进行:增删改查的区域

**暂存区:**暂时保存,将给git进行版本管理

**版本区:**被git控制的

  • 第一步:git add xxx 把xxx文件添加进缓存区
  • 第二步:git commit 把暂存区的所有内容提交到当前版本库

查看文件有没有添加成功

​ git status

红色表示在工作区

	**绿色**表示在**暂存区。**

​ 没有任何显示代表所有文件位于版本区。

初始化版本库: git init

  • 成功:Initialized empty Git repository in C:/Users/jry/Desktop/demo/.git/
  • 目录会多出一个.git文件夹(不要修改)

git add xxx 把xxx文件添加进缓存区

error⚠️ LF will be replaced by CRLF in a.txt.
The file will have its original line endings in your working directory

处理命令:git config --global core.autocrlf false

git 差异对比

把所有文件加到暂存区

git add *

git add .

暂存区到版本区

git diff :暂存区和工作区

a/— a暂存区 b/+++ b工作区

git diff --cached : 比较版本区与暂存区

git diff master : 比较版本区与工作区

日志+版本号

git log 显示从最近到最远的所有提交日志

git reflog 显示每次提交(commit)的commit id

版本回退+版本穿梭+版本撤销

git reset --hard HEAD^ 版本回退(回退一次提交)

git reset --hard Obfafd 回退到指定Obfafd的commit id版本

git reset HEAD 用版本库中的文件去替换暂存区的全部文件。

git checkout – x.txt 用暂存区指定文件去替换工作区的指定文件(危险)

git checkout HEAD x.txt 用版本库中的文件替换暂存区工作区的文件(危险)

git rm --cached x.txt 从暂存区删除文件

删除文件

git rm x.txt 删除文件

git rm -r xxxx 删除文件夹

git完整图示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pKJMpbcE-1604143150600)(C:\Users\jry\AppData\Roaming\Typora\typora-user-images\image-20201029135917644.png)]

分支

概念

1.主分支:master---------------------------代码经过了开发人员单元测试,已经测试人员详细的一套测试通过之后,确定没问题

2.开发分支:dev-----------------------------开发人员所有代码提交到此分支

3.测试分支:test-----------------------------测试人员(由开发人员完成单元测试的代码放入此分支)

4.里程碑分支:tags--------------------------v1.0.0(完整的)

v1.0.0

第一位:大版本号

第二位:中小版本

第三位:bug

测试种类:回归测试,压力测试,性能测试,单元测试

git checkout -b dev 创建dev分支,并切换到dev分支

git branch 查看当前分支

git checkout master 切换分支

git merge dev 合并dev分支到当前分支

git branch -d dev 删除指定分支

git diff branch1 branch2 显示出两个分支之间所有有差异的文件的详细差异

git diff branch1 branch2 --stat 显示出两个分支之间所有有差异的文件列表

git diff branch1 branch2 xxx 显示指定文件的详细差异

github

用户名JRY-2020

本地库与远程库交互

1. 场景一(关联):本地有仓库,要和远程仓库做关联

  • git init

  • git add .

  • git commit -m “first commit”

  • 在GitHub上创建一个远程仓库

  • git remote add origin https://github.com/xpromise/oa.git (HTTPS)

备注:如果此步关联错了,解决办法如下。

暴力解决:删除.git文件夹,重新建立本地仓库。

优雅解决:git remote remove origin,再在重新关联仓库。

2.场景二(推送):本地有仓库有内容,要推送给远程库

  • git push -u origin master (首次加-u)

  • 根据提示输入用户名密码

  • 我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送到远程新的master分支,还会把本地master分支和远程的master分支关联起来,在以后的推送时可以简化命令git push origin master。

  • 备注:正常情况下,成功推送一次后,电脑会记住和账号与密码,下次推送时不会再提示输入。若在电脑不能够自动记住github的账户和密码,需执行以下命令解决:git config --global credential.helper store

3. 场景三(拉取):本地有仓库有内容,获取远程库新内容

  • 第一种拉取方式:git pull origin master

将远程仓库的master分支上代码版本复制/合并到本地master分支上

  • 第二种拉取方式:git fetch origin master:tmp

新建一个tmp分支,将远程仓库的master分支上代码版本复制到tmp分支上,不会自动合并。

4. 场景四(克隆):本地无仓库,要获取一个完整的远程库

  • 备注:只在第一次获取远程库时才需要克隆

git clone https://github.com/xxx.git (HTTPS)

https://jry-2020.github.io/jryblog/

Jekyll 更优秀的静态生成页面

提交代码的规范

  • 每次提交之前,先更新,再提交
  • 敏感时间点,一定及时更新文件
  • 多提交,避免“只关注写代码,不关注提交”
  • 每次提交之前必须书写清晰明了的提交说明
  • 不要提交不能通过编译的代码
  • 不要提交自己不明白的代码
  • 慎用锁定功能
  • 不要提交本地自动生成的文件、文件夹

git总结

1.git 三区(init add commit)

2.版本回退

3.分支(创建,切换,管理,常见的分支)

4.git与github的交互:

​ 1.本地有仓库有内容,远程库为空,将代码推送给远程库(关联,推送)

​ 2.本地仓库,要获取到远程库新增修改的内容(拉取)

​ 3.本地没有仓库和内容,获取到一个完整的远程库(克隆)

​ 4.带有分支的上述操作

5.GitHub:新建仓库,新建组织,开源项目的多人协作(fork,pull),公司项目的多人协作

版本管理:git仓库地址,svn:用户名,密码。git:克隆,本地管理好,推送

常用命令总结

一、常用命令:

  • mkdir XX:创建一个空目录 XX指目录名
  • pwd:显示当前目录的路径
  • cat xx:查看xx文件内容
  • git init:把当前的目录变成可以管理的git仓库,生成隐藏的.git文件夹
  • git add xx:把xx文件添加到暂存区
  • git commit -m “xx”:提交文件 -m后面的是注释,必须写!
  • git status:查看仓库状态
  • git log:查看历史记录
  • git reset --hard HEAD^:往上回退一个版本
  • git reflog:查看历史记录的版本号id
  • git checkout – xx:把xx文件在工作区的修改全部撤销
  • git rm xx:删除xx文件
  • git remote add origin https://github.com/xxxxx/a.git 关联一个远程库
  • git push -u(第一次尽量加上-u,以后不用)origin master:把当前master分支推送到远程库
  • git clone https://github.com/xxxxx 从远程库中克隆
  • git checkout -b dev:创建dev分支 并切换到dev分支上
  • git branch:查看当前所有的分支
  • git checkout master:切换回master分支
  • git merge dev:在当前分支合并dev分支
  • git branch -d dev:删除dev分支
  • git branch xxx:创建分支xxx
  • git remote:查看远程库信息
  • git remote -v查看远程库的详细信息
  • git pull origin master 将远程库的更新拉取到本地并自动合并
  • git push origin master:git会把master分支推送到远程库对应的分支上
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页