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