git的使用与常用linux命令


为了告别手动方式管理Linux代码,并且符合开源和免费,Linus花了两周时间自己用 C 写了一个分布式版本控制系统,这就是Git。
  Git迅速成为最流行的分布式版本控制系统,尤其是 2008 年 GitHub 网站上线了,它为开源项目 免费提供Git存储 ,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。
  
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xSP32g6d-1605424209816)(http://oi0f7tpni.bkt.clouddn.com/u=783377470,1728660278&fm=214&gp=0.jpg)]  

1. git的安装

windows安装过程中记得选择在cmd下使用linux命令

  • mac下安装
    下载HomeBrew: http://brew.sh
    拷贝对应脚本到终端下安装HomeBrew 然后在终端执行brew install git命令安装git

安装xcode会默认下载git

2. 配置git用户和邮箱

$git config --global user.name "你的github用户名"
$git config --global user.email "你的github邮箱"

不配置用户名和邮箱的话无法提交,因为git不知道你是谁

查看配置

$git config --global user.name
$git config --global user.email

查看所有配置

$git config --list

3. 初始化git

  • 先创建一个空目录,可以直接手动创建,也可以在终端或命令行中输入mkdir 文件夹的名字 来创建,然后进入此目录,手动进入或在终端或命令行中输入cd(change directory)文件夹的名字,进入此目录(删除文件夹使用$ rm -rf 文件夹名字
  • windows在当前文件夹右键点击Git Bash Here打开命令行,mac在当前文件选择在此打开终端窗口,或者直接在cmd命令行或终端里输入 git init 来初始化git,告诉git当前目录归它所管理

通过ls -al 命令查看当前目录下的所有文件

4. git中的三个区

git的工作流

4.1 工作区

通过git add 添加到暂存区

$git add ./-a/文件名

当前文件在命令行或终端里没有加入到暂存区是红色,加入后是绿色 可以通过$ git status命令查看;这里说几个常用的linux命令:

$touch 文件名  //创建文件
$echo 内容 >> 1.txt  //一个大于号清空 创建 并写入 两个大于号追加
$cat 文件名  //查看文件
$vi 文件名  //修改文件 i键进入编辑状态 esc退出 :wq保存并退出  :q!强制退出

4.2 暂存区

特点:过渡的作用,避免误操作,保护工作区和历史区,分支处理;
通过git commit添加到历史区

$git commit -m '注释内容'

4.3 历史区

历史区的内容只要电脑不爆炸、不手动删除.git文件,内容永远不会丢失
查看历史状态及提交版本号:

$git log / $ git log --oneline   //在命令末尾添加--oneline显示记录为一行

一步提交到历史区:

$git commit -a -m'注释内容' //如果当前文件是首次提交则不支持此命令,需要逐步提交

有的时候我们希望提交时合并到上一次的提交: $ git commit --amend

在历史区中查询关键字:

$git log --grep/--author=提交者名字

5. 不同区的代码比较

5.1 工作区和暂存区

$git diff

5.2 暂存区和历史区

$git diff --cached

5.3 工作区和历史区

$git diff 分支的名字

6. 撤销

6.1 撤销回暂存区中新加的内容(git add的内容)

$git reset HEAD 文件名

6.2 撤回文件

先从暂存区撤销,暂存区无内容,从历史区撤销

$git checkout 文件名

7. 删除

7.1 删除暂存区和工作区

删除暂存区中的内容,并且保证工作区中的内容已经不存在

$git rm 文件名  //若本地文件存在则不能删除,需要通过-f参数删除

7.2 仅删除暂存区

$git rm --cached 文件名

8. 恢复(版本回退)

8.1 版本回退(历史区→工作区)

$git reset --hard 版本号
$git reset --hard HEAD~3  // HEAD^去上一级

8.2 查看操作历史

$git log  //查看当前版本之前的内容
$git reflog  //查看所有操作历史

9. 分支

主要是写代码时,不会影响主代码

9.1 创建分支

$git branch 分支名字

9.2 查看分支

$git branch

9.3 进入到分支(切换分支)

$git checkout 分支名

9.4 删除分支

$git branch -D 分支名

9.5 创建并切入分支

$git checkout -b dev  //创建并切入到dev分支上

9.6 合并分支

$git merge 被合并的分支名

每个人都会拥有一条分支,开发自己的代码,自己的代码开发完成后提交到自己的历史区,主分支来进行合并分支 ,注意区分主分支

9.7 合并分支时产生冲突的原因

两个人同时改变了同一个文件。git不知道谁是对的,要让自己裁决,裁决好后再次提交。只能手动合并。

10. 将本地内容推送到远程仓库

10.1 关联远程仓库

$git remote add origin(地址名) 远程仓库地址

10.2 移除关联的远程仓库

$git remote rm origin(地址名)

10.3 查看关联的远程仓库信息

查看仓库名字

$git remote

查看仓库地址

$git remote -v

10.4 推送到远程仓库

要保证即将被推送到远程的内容已经添加到历史区,即已经执行过$ git add .&& git commit -m"",否则无法推送到远程仓库

$git push origin master //可以选择加不加-u(upstream)参数 首次推送如果加-u则以后每次拉取和推送直接执行git pull/git push即可

如果本地和线上版本不一致,则需先进行拉取,如果拉取后有冲突,需要手动解决冲突,然后再推送

强制覆盖远程仓库内容:$ git push origin master -f(谨慎使用此命令…后果很严重,你懂的…)


文章作者: 图图
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 图图 !
 上一篇
防抖&节流 防抖&节流
实际项目中经常会遇到一些函数的频繁重复调用,例如input搜索、用户频繁点击登录按钮、页面滚动至一定高度的scroll回调、窗口resize等消耗性能或频繁发送多余请求的操作,防抖以及节流可以有效的优化类似操作产生的性能消耗。
2023-05-18
本篇 
git的使用与常用linux命令 git的使用与常用linux命令
为了告别手动方式管理Linux代码,并且符合开源和免费,Linus花了两周时间自己用 C 写了一个分布式版本控制系统,这就是Git。  Git迅速成为最流行的分布式版本控制系统,尤其是 2008 年 GitHub 网站上线了,它为开源项目
2020-11-14 图图
  目录