- 版本:后悔药
- 每一个版本,就是一颗后悔药
- commit 之后,一颗后悔药就造出来了
配置
一定要运行这五句话,不然 git 就不能用了
查看当前配置项:git config --list
git config --global user.name xxxxxx (把xxxxxx替换成你的英文名字随便什么都行)
git config --global user.email xxxxxx (把xxxxxx替换成你的邮箱跟github一致或者不一致也行)
git config --global push.default simple
git config --global core.quotepath false
git config --global core.editor "vim" (使用vim编辑提交信息)
本地代码上传 Github 步骤:
- 在github先创建一个空仓库。New→设置 Repository name→Create repository
- git init:在本地初始化一个git仓库
- git add . 将所有修改添加至暂存区
- git commit -v:(会告诉我做了哪些变更) 或者 git commit -m "描述" (提交版本)
- 按照它第二块的提示做(如果本地已经有代码)→…or push an existing repository from the command line。如果本地什么都没有就按照它第一块的提示做。
- 刷新
- 在 Settings 里,把预览打开,这样作品才能被人看见(GitHub Pages→master branch)
- 打开链接,后面不要忘了接 index.html
推荐工具:git open (可以打开github对应的代码页)
安装
npm i -g git-open
git branch 新建一个分支
- git branch button-and-input (宇宙一分为二,一个叫 master ,一个叫 button-and-input )
- git push origin button-and-input:button-and-input (把本地的 button-and-input 分支,推到远程的 button-and-input 分支)
- git checkout button-and-input(切到某个分支,切到另一个宇宙)
常用命令
- git clone git@github.com:xxxx,下载仓库
- git init,初始化本地仓库 .git
- git status -sb,显示当前所有文件的状态
- git add 文件路径,用来将变动加到暂存区
- git commit -m "信息",用来正式提交变动,提交至 .git 仓库
- 如果有新的变动,我们只需要依次执行 git add xxx 和 git commit -m 'xxx' 两个命令即可。先 add 再 commit,行了,你学会 git 了。
- git log 查看变更历史
- git remote add 远程名称 远程地址 (添加远程仓库)
如何上传更新
- git add 文件路径
- git commit -m "信息"
- git pull (获取远程更新)
- git push
其他一些有用的命令
git remote add origin git@github.com:xxxxxxx.git
将本地仓库与远程仓库关联git remote set-url origin git@github.com:xxxxx.git
上一步手抖了,可以用这个命令来挽回- git commit --amend
git branch
新建分支git merge 分支名
(合并指定分支到当前分支)git stash
通灵术git stash pop
反转通灵术git revert
后悔了git reset
另一种后悔了git diff
查看详细变化- git checkout -b 分支名 (创建并切换至分支)
- git remote (列出所有远程仓库)
- git status -sb:查看仓库状态
- git log 查看版本记录(按q退出) 也可以 git log -p
- git rm -r --cached xxx(删除 远程 的文件夹)
关于冲突
<<<<<<<<<<<<< HEAD
//大于号和小于号之前包含的就是 冲突的内容
//等号 分隔了两个分支
=============
>>>>>>>>>>>>>
GitHub 远程仓库下载到本地:
- 复制SSH地址。
- 在一个目录下(比如d盘)运行: git clone 刚才复制的地址
- 进入新建的目录
其他问题:
背景:
在当前项目中,早先创建并已经push到远程的文件及文件夹,将名称大小写更改后,git无法检测出更改。
原因:
git默认配置为忽略大小写,因此无法正确检测大小写的更改
解决方法:
运行git config core.ignorecase false,关闭git忽略大小写配置,即可检测到大小写名称更改
【报错】git remote add 时报错 fatal: remote origin already exists.
首先删除origin
,然后再次添加路径。
git remote rm origin
git remote add origin <repo-url>
git rebase
也叫变基
功能1:合并分支:用于合并另外一个分支的内容,跟 merge 的区别是,rebase 会把本分支的 commits 顶到最顶端
功能2:合并提交:把多个提交记录,合并为一个提交。保持提交记录的整洁。
撤销上次提交:
git reset --soft HEAD^