git学习笔记(git命令大全)

仓库:简单理解为一个目录,里面的文件都被git管理起来了

创建本地git仓库:git init

添加文件到仓库: git add [file-name]

把文件提交到仓库:git commit -m "some message"

查看当前仓库状态:git status

查看文件差异:git diff

git diff HEAD -- readme.txt 查看工作区和版本库里面最新版本的区别

显示提交日志:git log [--pretty=oneline]

回退版本:git reset --hard HEAD^   (HEAD^表示最新版本的上个版本,HEAD^^表示上上个版本,HEAD~100表示往前推100个版本, 该参数也可以换成对应的版本号)

查找你的执行命令记录:git reflog

git管理的是修改而不是文件,工作区的修改在ADD之后就放到了暂存区,COMMIT之后工作区的修改就提交到版本库

撤销工作区的修改:git restore [file-name]  或者 git checkout -- [file-name]

撤销暂存区的修改:先执行git reset HEAD [file-name] 然后 再执行 git restore [file-name]  或者 git checkout -- [file-name]

删除文件:git rm [file-name]

在本地生成一对公钥和私钥(只有自己本机上持有),然后将公钥添加到github账号上,那么你推送代码到远程桌面的时候,使用私钥进行加密,github服务器就可以使用公钥去验证是你本人提交的

将远程的仓库跟本地的联系在一起: git remote add [email protected]:keasal/java-algorithm.git

添加后,远程库的名字就是origin(可修改)

删除远程库(其实只是跟本地库解绑而已):git remote rm origin

第一次推送master分支的所有内容:git push -u origin master

推送更新:git push origin master

克隆仓库: git clone <远程仓库地址>

创建并切换到分支dev:git checkout -b dev 或者 git switch -c dev

创建新分支dev:git branch dev

切换分支:git checkout dev 或者 git switch dev

合并指定分支到当前分支: git merge

删除分支:git branch -d dev

查看记录: git log --graph --pretty=oneline --abbrev-commit

禁用fast forward的合并分支:git merge --no-ff -m "merge with no-ff" dev

修复bug可以创建一个临时的分支,修改好后合并到主分支上

当手头上的工作没有完成时,可以使用命令git stash一下保存工作现场,然后后面使用git stash pop回到工作现场

把某个分支上的提交“复制”到另外一个分支:git cherry-pick

强制删除分支:git branch -D

查看远程仓库信息:git remote -v

创建远程origin的dev分支到本地:git checkout -b dev origin/dev

设置远程的分支和本地分支关联:git branch --set-upstream-to=origin/dev dev

远程抓取分支最新内容(有冲突需要手动处理,提交):git pull

变基,把本地未push的分叉提交历史整理成直线:git rebase

标签是跟某个commit绑定到一起的

查看所有的标签:git tag

创建一个标签:git tag

创建标签并指定信息:git tag -a -m "balabala"

查看标签的详细信息:git show

推送一个本地标签:git push origin

推送本地所有还没推送的标签:git push origin --tags

删除一个本地标签:git tag -d

删除远程的标签:git push origin :refs/tags/

检查那个忽略规则忽略了某个文件:git check-ignore -v App.class

你可能感兴趣的:(git学习笔记(git命令大全))