学习让我快乐! 真的,不是假的
1. Git配置
Git配置分为三级:系统(System) 、用户(global)、仓库(local),在配置不一致的情况下,生效优先级:仓库>用户>系统。
eg: 设置用户名称
git config --system user.name "ming" //生效级别为 系统
git config --global user.name "ming" //生效级别为 用户
git config --local user.name "ming" //生效级别为 仓库
其他git配置常用命令
git config --list //查看git配置信息
git config --global user.email "xiaoming@qq.com" //配置邮箱
git config --help
2. Git常用命令
仓库:
git clone repository-url // 检出仓库代码
git remote -v //查看远程仓库
git remote add name // 添加远程仓库
git remote rm name // 删除远程仓库
git remote set-url origin URL //更换远程仓库地址,URL为新地址
git push origin dev:master //将本地dev分支提交到远程master分支
操作
git add filename / git stage filename / git add -all //添加文件到暂存区(staged)
git commit -m 'commit message' / git commit -a -m 'commit message' // 提交到本地仓库 (-a 针对修改或删除文件 省略git add步骤)
git pull // 从远程仓库拉取代码 相当于git fetch + git merge
git push // 推送代码到远程仓库
分支
git branch newbranchname // 基于当前创建新分支 也可以基于某次提交或tag等
git branch hotfix m2107d31 // 基于某次提交创建hotfix分支
git branch -d branchname //删除分支
git push origin --delete remote-branchname //删除远程分支
git checkout branchname //切换分支
git merge branchname // 将branchname合并到当前分支
git branch -m oldname newname //重命名分支
git checkout -b local-branchname origin/remote-branchname //拉取远程分支到本地
reset、revert、merge、rebase
reset: 回滚到某次提交 有三种模式
revert: 回滚某次提交,与reset有本质区别!!!
merge: 合并代码到当前分支
rebase: emm,这个没仔细看,晚点补
cherry-pick: 摘取某次或多次提交到当前分支
git reset --mixed HEAD^ //回退到上一个版本,保留工作目录,暂存区以及已提交的修改内容都会放入工作目录中
git reset --soft HEAD^ //回退到上一个版本,工作目录、暂存区内容保留,已提交的内容会回退到暂存区
git reset --hard HEAD^ //回退代码到上一个版本并清空所有修改,谨慎使用
git revert commitid //回退某次提交
git merge dev //将dev分支代码合并到master分支,有冲突解决冲突
git cherry-pick commitid // 摘取一次或多次提交到当前分支
一些常用的组合操作
- 以当前代码创建新分支并推送到远程仓库
1. git branch newbranch //创建新分支
2. git checkout newbranch //切换到新分支
3. git push origin newbranch //推送到远程分支
4. git branch --set-upstream-to=origin/newbranch //本地分支与远程分支关联
- 合并dev分支代码到master分支
1. git switch master //切换到master分支
2. git pull //拉取最新代码
3. git merge dev //将dev分支代码合并到master分支,有冲突解决冲突
4. git status //查看当前文件状态(可不执行)
5. git push // 推送到远程分支
一些问题
记录一下碰到过的问题:
- 每次操作都需要输入账号密码
解决办法:进入项目目录,进入命令行界面,执行
git config credential.helper store –file=.git_credentails //仅在当前项目目录有效
git config –global credential.helper store –file=git_credentails //在当前用户下有效
这个命令会生成一个文件 ~/.git-credentials 用来记录账号和密码。
然后输入 git pull或git push命令,会提示输入账号密码,命令执行完后 ~/.git-credentials 文件里会保存你的账号密码,这样下次操作的时候就不用输入账号密码了。
其他
文档: https://git-scm.com/book/zh/v2
Git小游戏: https://learngitbranching.js.org/?locale=zh_CN
不积硅步,无以至千里!加油。