git常用命令总结
- 查看客户端用户名邮箱
git config user.name
git config user.email
- 修改用户名密码
git config --global user.name "leida"
git config --global user.email "leida@bjfu.edu.cn"
- 创建仓库后初始化
echo "###" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https:....
git push -u origin master
- git clone之后会自动建立remote
- 同一行文本被不同分支修改过,才会有冲突,只有一个人修改,则不存在冲突,会直接覆盖
git push -u origin dev
- 表示将当前分支推送到远程dev分支上,-u表示建立关联,之后就只需要git push 就行
- 出现refuseing to merge unrelated histories,按如下解决
git pull origin master --allow-unrelated-histories
- 关联远程分支
// 推送代码并关联远程分支
git push --set-upstream origin hexo
//(如果远程分支不存在)推代码并新建远程分支
git push origin your_branch:remote_branch
// 本地分支关联远程分支
git branch --set-upstream-to=origin/remote_branch your_branch
- 本地项目跟远程项目初次合并
git init
git add .
git commit -m "first commit"
git remote add origin https:....
git pull origin master --allow-unrelated-histories
# pull过程中合并两个分支,之后解决冲突
# 注意清理缓存重新提交,不然ignore可能会失效
git rm -r --cache .
git add .
git commit -m "first commit"
git push
- 忽略已经提交的文件
git rm -r --cached xxx //xxx表示不再想版本控制的文件,然后在 .gitignore 文件中加入该忽略的文件
git add .
git commit -m 'update .gitignore'
- 新建与切换分支
git checkout master // 切换到master分支
git checkout -b dev // 新建dev分支并切换过去
git checkout -b dev 远程分支名 // 新建本地dev分支并关联对应的远程分支
git branch dev // 新建分支不切换
git branch -m oldName newName //修改本地分支名称
- 查看分支
git branch //查看本地所有分支
git branch -r //查看所有远程分支
git branch -a //查看所有远程和本地分支
git branch -vv //查看本地和远程分支的关联关系
- 删除本地分支
git branch -D dev
- 合并分支
git merge master // 在当前分支上合并master分支过来
git merge --no-ff origin/dev //在当前分支上合并远程分支
git merge --abort //终止本次merge,并回到merge之前状态
- 更新远程分支列表
git remote update origin --prune
- 查看远程仓库
git remote -v
- 查看本地版本列表
git log --pretty=oneline
git reflog # 查看分支版本
- 切换到某一个版本
git reset --hard 版本号
- 远程强制覆盖本地
# 获取远程所有的更新
git fetch --all
# 清除本地修改, master 修改为你所需要拉取的分支名称
git rest --hard origin/master
# 拉取新内容
git pull
- 先把线上的拉下来,放在本地的commit记录前面,相当于merge的功能(rebase可以更改本地的commit记录)
git pull origin <branch> --rebase
- 本地修改的内容清除
git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态
git clean -xdf # 递归删除未跟踪的文件
git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。
- 拉取远程某个分支并建立本地分支
# 方法一:此方式尚未跟远程分支建立关联,而且需要checkout
git fetch origin 远程分支名x:本地分支名x
# 方法二:
git checkout -b feature/mix_recommend origin feature/mix_recommend
- 合并多次commit
git commit --amend
git rebase -i HEAD~3 # 合并从当前往后数三个版本
-- 比较两个分支有diff的文件
git diff --name-only master feature_optimize