git 常用命令
Posted 娇小优
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git 常用命令相关的知识,希望对你有一定的参考价值。
以下介绍一些 git 常用命令:
基本设置
git config --global user.name yourName 设置用户名
git config --global user.email [email protected] 设置邮箱
$ssh-keygen -t rsa -C "[email protected]" 生成 SSH 公钥
快捷键设置
git config --global alias.st status 设置常用快捷键
git config --global alias.co checkout
git config --global alias.cm commit
git config --global alias.br branch
提交代码基本流程
git add . 把工作区的所有变化(修改的及新增的文件,但不包含删除的文件)提交到暂存区
git commit -m "commit record" 输入提交记录
git push 如果 myBranch 是远程分支,push 到远端。如果不是,不需要这一步
git checkout dev 切回 dev 分支(默认 dev 为主分支)
git pull 更新 dev 最新代码
git checkout [myBranch] 切回 myBranch 分支
git merge dev 把 dev 最新改动合并到 myBranch
git checkout dev 切回 dev 分支
git pull 及时更新代码,以免别人也往 dev 提交代码
git merge [myBranch] 把 myBranch 修改的文件 合并到 dev 分支
git push 把合并的代码推送到远端
git checkout [myBranch] 切回自己的分支继续开发
git add -u 仅把已经add文件(tracked file)及删除文件(delete)提交到暂存区,不包含新增文件。(git add --update 的缩写)
git add -A 是git add .和git add -u 的集合。(git add -all的缩写)
修改的文件暂时不需要,但是需要切分支或者更新代码
git stash 把修改的文件临时存储起来
git stash list 查看被临时存储起来的文件
git stash apply 恢复文件,但是不删除 stash 列表中的内容
git stash drop 删除 stash 文件
git stash pop 恢复并删除 stash 文件
git stash apply [email protected]{0} 恢复指定的 stash 文件
修改的代码不想提交了
- A 情况: 代码还在工作区
- git checkout --[filename]
- B 情况:代码在暂存区
- git reset HEAD [filename]
- git checkout --[filename]
- C 情况:代码在本地仓库
- git reset HEAD^
- git reset HEAD^^
- git reset HEAD~100
删除没有 git add 的文件
git clean -n 显示将要删除的文件及目录
git clean -f 删除文件
git clean -df 删除文件及目录
删除已经 git add 的文件
git rm [filename] 删除文件
git rm -r [fileFolder] 删除 fileFolder 文件夹
查看分支
git branch 查看本地分支
git branch -r 查看所有远程分支
git branch -a 查看本地和远程分支
重命名分支名
git branch -m [old-branch-name] [new-branch-name] 本地分支重命名
git branch -m [old-local-branch-name] [new-local-branch-name] 重命名远程分支对应的本地分支
git push origin :[old-local-branch-name] 删除远程分支
git push origin [new-local-branch-name]: [new-local-branch-name] 上传新命名的本地分支(把本地分支上传到远程)
删除本地或者远程分支
git branch -d [myBranch] 删除本地分支
git branch -D [myBranch] 强制删除本地分支
git branch -d -r [myBranch] 删除远程分支
git branch -D -r [myBranch] 强制删除远程分支
git push origin : [myBranch] 删除远程分支
git fetch --prune 清理本地陈旧分支
新建分支
git branch -f [myBranch] 新建一个分支不切换至新分支
git branch -b [myBranch] 新建一个分支并切换至新分支
git push origin [myBranch] 把本地分支推送到远端分支
git branch --set-upstream [myBranch] origin/[myBranch] 建立本地分支与远端分支的关系
git branch --unset-upstream [myBranch] 取消本地分支与远端分支的关系
把某一次commit的文件提交到另外一个分支
git cherry-pick commit-id 把某一次commit 合并到另外一个分支
git cherry-pick 多个commit-id 把多次commit 合并到另外一个分支(合并顺序以提交为顺序)
git cherry-pick --continue 出现冲突,解决冲突继续合并
git cherry-pick --abort 取消此次合并
创建标签(以版本发布)
git tag [tagName] 创建轻量标签
git tag -a [tagName] -m "commit record" 创建附注标签
git checkout [tagName] 切换标签
git show [tagName] 查看标签信息
git tag -d [tagName] 删除本地标签
git tag -a [tagName] commit -m "commit record" 给指定的 commit 打标签
git push origin [tagName] 将 [tagName] 标签推送到远端
git push origin --tags 将本地所有标签一次性提交到远端
git push origin --delete tag [tagName]
git push origin :[tagName] 删除远程标签
查看提交历史记录
git log
git log --stat 展示修改的文件及每个文件修改了多少行
git log -5 显示最新5次修改记录信息
git log -p 按补丁格式显示每个更新之间的差异
git log --pretty=online 把commit 描述及commit-id 一行展示
git log --shortstat 只展示修改了多少个文件不具体显示修改哪些文件
git log --author=张三 展示 张三 这个用户的修改历史
git reflog show --date=iso branch-name 查看分支创建时间
*** 待续 ***
tagName
以上是关于git 常用命令的主要内容,如果未能解决你的问题,请参考以下文章