-
工作区 :git add xxx 将工作区的文件添加到暂存区
-
暂存区 :暂时保存,即将交给git进行版本管理
-
版本区:已经被git版本控制了
-
git init
命令:初始化 -
git add x.xx
命令:添加指定文件到暂存区(git add .和git add *
都是提交全部)
-
可能会出现警告:
warning:LF will be replace by CRLF in xxx
-
原因:linux和window的换行符不一致
-
解决方法:
git config --global core.autocrlf false
-
git status
命令:查看文件状态 红色==>绿色==>tree clear -
git commit -m xxx
命令:提交暂存区
-
git diff
: 比较暂存区与工作区 -
git diff --cached
: 比较版本区与缓存区 -
git diff master
: 比较版本区与工作区
-
git log
日志,按英文q
退出日志 -
git reflog
显示每次提交的commit id
-
git reset --hard HEAD^
版本回退(回退一次提交) -
git reset --hard
版本号 回退到指定版本号的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 删除文件夹(文件夹必须要有东西)
注意本地需要master分支有东西,才能去创建dev分支
-
git checkout -b 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相关
-
场景一 关联
-
第一次关联远程仓库:
-
git remote add origin
-
场景二 推送
-
git push -u origin master
首次-u
参数,可以把本地master推送到远程master分支,而且还会关联起来 -
备注:如果电脑没有记住github账号密码,执行:
git config --global credential.helper store
-
场景三 拉取
-
两种方式:
-
1.git pull
-
2. git fetch origin master:tmp
-
新建一个分支tmp分支,将远程仓库的master分支上代码版本复制到tmp分支上,不会自动合并
-
场景四 克隆
-
git clone
-
注意克隆下来的是远程仓库的所有分支,虽然git branch看不到,但是可以直接git checkout dev
================================================================================
因为现在https能记住账号密码了,所有ssh相对少用了
使用 SSH 协议可以连接远程服务器和服务并向它们验证。 利用 SSH 密钥可以连接 GitHub,而无需在每次访问时都提供用户名和个人访问令牌。
在生成 SSH 密钥之前,您可以检查是否有任何现有的 SSH 密钥。
检查现有 SSH 密钥后,您可以生成新 SSH 密钥以用于身份验证,然后将其添加到 ssh-agent。
要配置 GitHub 帐户使用新的(或现有)SSH 密钥,您还需要将其添加到 GitHub 帐户。
设置 SSH 密钥并将其添加到您的 GitHub 帐户后,您可以测试连接。
您可以保护 SSH 密钥并配置身份验证代理,这样您就不必在每次使用 SSH 密钥时重新输入密码。
-
手动处理
-
vscode处理,采用自己分支代码,或者采用合并分支代码