title: Git详细使用
date: 2023-03-09
tags:
Git
categories:
前端
初始化
1.通过git init命令把这个目录变成Git可以管理的仓库:
现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,
存入本地仓库
将文件放入到我们本地的仓库
第一步,用命令git add告诉Git,把文件添加到暂存区
$ git add demo.html
如果需要添加当前目录的所有文件add后面文件变成点就可以(add .)
第二步,用命令git commit告诉Git,把文件提交到仓库
$ git commit ‐m "添加文件"
git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录
查看修改
$ git status
git status命令可以让我们时刻掌握仓库当前的状态,如果文件被修改了,命令输出告诉我们,文件被修改过了,但还没有准备提交的修改。
$ git diff
git diff命令可以知道对文件作了什么修改
$ git reflog
命令git reflog用来查看你的每一次命令
回退版本
先用git log命令查看commit id(版本号)
$ git log
回退到上一个版本,就可以使用git reset命令:
$ git reset ‐‐hard HEAD^
在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^
回之前的或者之后的版本还可以直接输版本号
$ git reset ‐‐hard 88142
commit id是8814218e4...,版本号没必要写全,前几位就可以了
撤销修改
$ git restore -- file
git restore -- file可以丢弃工作区的修改,但是这仅仅是你修改了但是还没有commit的文件
远程仓库添加认证
在本地创建SSH keys
ssh‐keygen ‐t rsa ‐C "邮箱"
可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
登陆GitHub,打开“Account settings”,“SSH Keys”页面:然后,点“Add SSHKey”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容GitHub允许你添加多个Key。
连接并推送远程仓库
将本地库与远程仓库连接
$ git remote add origin 仓库对应的https地址
添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。
将本地仓库的文件(commit之后的)推送到远程
$ git push ‐u origin master
git push 远程仓库名 本地分支名 推送本地分支仓库数据到远程仓库同名分支下(git 会在远端仓库新建一个同名分支)
第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令(不用加-u)
从远程库克隆
$ git clone add origin 仓库对应的https地址
关于分支
创建
这里创建了dev分支并切换
$ git checkout ‐b dev
git checkout命令加上‐b参数表示创建并切换,相当于以下两条命令:
创建
$ git branch dev
切换
$ git checkout dev
查看
用git branch命令查看当前分支,git branch命令会列出所有分支,当前分支前面会标一个*号。
$ git branch
合并
切换回master分支
$ git checkout master
合并指定分支到当前分支
$ git merge dev
删除
删除dev分支
$ git branch ‐d dev
解决冲突
如果两个分支都针对同一个地方做了修改,这种是无法自动合并的,需要我们手动解决冲突
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。