Git

常用命令

  • git config --list // 查看当前全局配置

  • git clone https://gitee.com/motto/timer.git // 克隆项目

  • git init // 初始化本地仓库

  • git remote add origin(仓库名,可自定义) https://git.oschina.net/motto/motto-utils.git

  • git remote remove origin // 删除仓库

  • git config (--local(默认) | --global | --system) user.name "motto" // 配置用户名

  • git config (--local(默认) | --global | --system) user.email "974444718@qq.com" // 配置email

  • git status // 查看当前仓库状态

  • git add --all // 暂存所有有改动的文件

  • git commit -m "提交注释" // 提交已暂存的文件

  • git commit --amend // 注意:(只能修改最近一次提交的注释),进入注释页面,进行修改,保存退出,强制git push -f

  • git push origin(仓库名) master(分支名) // 推送到远程仓库

  • git push origin master --force // 强制推送

  • git pull <远程主机名> <远程分支名>:<本地分支名> // 若本地当前分支与远程存在追踪关系,则可省略<远程主机名>和<远程分支名>,<本地分支名>默认为当前分支

  • git pull --rebase(合并远程仓库的变更到本地) origin(仓库名) master(分支名) // 从远程仓库拉取最新代码

  • git pull 扩展阅读 点击

  • git tag -a v0.0.1 -m "初次提交" // 创建标记 v0.0.1 为标记名,"初次提交"为注释

  • git push origin v0.0.1 // 推送标记至远程仓库

  • git checkout xxx.js // 放弃某一个文件的修改

  • git reset --mixed // 恢复已经add且未commit的记录(保留源文件,与git reset等价,--mixed是默认参数)。

  • git reset xxxx // 恢复自xxxx版本起(不包括xxxx)的修改(会保留修改过的代码)

  • git reset --hard // 回退到自HEAD版本起(不包括HEAD)所有未commit的且有版本记录的修改(不会保留修改过的代码)(没有版本记录的文件不会被删除)。

  • git reset --hard xxxx // 回退到自xxxx版本起(不包括xxx)所有未commit的且有版本记录的修改(不会保留修改过的代码)(没有版本记录的文件不会被删除)。

  • git reset --hard origin/master // 回退到和远程版本一样(不会保留修改过的代码),有时候,当发生错误修改需要放弃全部修改时,可以以远程分支作为回退点退回到与远程分支一样的地方, origin代表你远程仓库的名字,master代表分支名

  • git reset HEAD~X // 以当前版本为基础,回退指定个commit,首先,确认你当前的版本需要回退多少个版本,然后计算出你要回退的版本数量,X代表你要回退的版本数量,是数字!!!!

git branch

  • git branch // 查看本地分支
  • git branch -r // 查看远程分支
  • git branch -a // 查看本地和远程分支
  • git fetch // 拉取远程分支
  • git branch branchName // 新建branchName分支
  • git checkout branchName // 切换到branchName分支
  • git checkout -b branchName // 创建并切换到branchName分支
  • git branch -d branchName // 删除本地branchName分支,如果也想要删除远程的branchName分支,执行git push即可,注:建议直接去github操作。
  • git branch -D branchName // 强制删除本地branchName分支,如果也想要删除远程的branchName分支,执行git push即可,注:建议直接去github操作。
  • git remote show origin // 查看仓库origin的远程分支和本地远程分支记录的对应关系
  • git remote prune origin // 删除仓库origin的远程分支已经删除过的本地远程分支记录
  • git branch -v // 查看本地各个分支最后一次提交
  • git branch -vv // 查看本地分支与远程分支的映射关系
  • git branch --set-upstream-to=origin/next // 指定本地当前分支追踪远程origin/next分支
  • git branch --unset-upstream // 撤销本地当前分支与远程分支的映射关系

合并分支步骤(把master合到maod-dev)

  • git checkout master // 切换到master分支
  • git pull origin master // 拉取最新代码
  • git checkout maod-dev // 切换到maod-dev分支
  • git merge master // 合入master分支
  • git push origin maod-dev // 把合完的代码推送到maod-dev

git stash

  • git stash // 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
  • git stash pop // 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。取出后,这次数据就不会存在于暂存区中了。
  • git stash apply // 从Git栈中读取最近一次保存的内容,通过 apply 后,暂存区的数据仍然存在。
  • git stash list // 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
  • git stash clear // 清空Git栈。
    想要连续pop或apply,必须先git add,也就是:pop或apply -> add -> pop或apply -> add,如此类推

删除配置:

  • git config --unset user.name

解决每次push都要输入账号密码:

  • git config --global credential.helper store
原文地址:https://www.cnblogs.com/andremao/p/7286010.html