初始化本地仓库并配置
# 初始化和配置get
git init
git config --global user.name'uname'
git config --global user.email'uemail@email.com'
# 配置当前项目
git config --local user.name'newEmail' / email
# 删除配置
git config --global --unset user.name / email
关联远程仓库
# 方式一 clone:初始化本地仓库,和对应的远程仓库保持关联
git clone [仓库地址] [取别名]
# 方式二 origin默认名字 可自定义
git remote add origin [git仓库地址]
# 将远程仓库origin的master分支与本地仓库master分支关联
git push -u origin master
# 删除关联
git remote rm origin
# 查看本地与那个仓库保持的链接
git remote -v
工作区提交到暂存区
# 单个文件
git add '文件名'
# 当前文件夹全部提交 -A
git add . [-A]
暂存区提交到历史区
# 将文件从暂存区提交到历史区
git commit -m'描述'
# 查看准备提交的文件
git diff --cached
回滚相关命令
# 查看当前工作区文件状态 红色:工作区 绿色:暂存区
git status
# 查看当前版本的历史提交
git log
# 以一行的形式查看历史记录,建议用这种方式
git log --pretty=oneline
# 查看所有历史记录(包括历史区回滚后)
git reflog
# 撤销提交
git reset <版本号>
# 回滚到对应版本号 本地代码也会回退
git reset --hard <版本号>
拉取、推送
# 拉取 origin 默认项目名
git pull origin <分支名>
# 推送代码到远端 -f(慎用)
git push origin <分支名>
分支相关
# 查看分支 [-a] 查看所有分支
git branch [-a]
# 创建分支
git branch <分支名>
# 删除分支 [先退出要删除的分支]
git branch -d <分支名>
# 修改分支名
git branch -m <目标分支> <修改名字>
# 创建分支 [-b] 创建并切换
git checkout [-b] <分支名>
# 初始化当前分支
git reset --merge
# 合并分支 先切换到master分支,在用命令合并dev分支
# 合并前预览更改 切换分支后一定要下pull一下
git diff [source branch] [target branch]
# 导出diff文件
git diff commitId1 commitId2 >> fileName.diff
# 合并分支
git merge [目标分支名]
冲突的产生与解决
- 先git pull,手动并合和修改冲突文件,再次提交。
忽略文件:.gitignore
# 创建 .gitignore文件
touch .gitignore
# 过滤整个文件夹
/mtk/
# 过滤所有.zip文件
*.zip
# 过滤某个具体文件
/mtk/do.c
# 不过滤具体某个文件
!index.js