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
posted @ 2019-08-09 10:07  数小钱钱的种花兔  阅读(180)  评论(0编辑  收藏  举报