git学习笔记
2020-02-26 本文已影响0人
缓冲剂
本地命令
1.基础类
-
git status
:查看工作区与暂存区的变更状态 -
git add
:从工作区提交到暂存区 -
git commit -m
:从暂存区提交到分支,在-m后面添加备注 -
git diff
:查看还没有commit的内容是否发生了变化 -
git log
:查看本次启动的工作日志 -
git log --pretty=oneline
:所有工作日志打印成一行 -
git log --abbrev-commit
:每条工作日志的哈希值序列,只显示前面几个数字 -
git reflog
:查看从建立git库后,所有的工作日志 -
git diff HEAD --文件名
:查看工作区与版本库内,某文件的区别 -
git reset --hard HEAD^
:返回分支中的上一个版本,【举例】先提交版本1到git库中,又提交了版本2,用了此命令就返回到版本1。 -
git reset --hard HEAD^^
:返回分支中的上上个版本。 -
git reset HEAD 文件名
:将暂存区的修改退回到工作区,其中HEAD代表文件的最新版本 -
git checkout --文件名
:本命令使用分两种情况,一种是还没有add到暂存区,那么本次在工作区的修改全部取消,变成和git库里一模一样的文件;第二种情况,add到了暂存区,又在工作区进行修改,用了这个命令,撤销掉工作去修改,和暂存区的文件保持一致。主要思想是一致的:撤销掉工作区的所有修改,和后方(暂存区、git库)保持一致。 -
git rm 文件名
:删除git库里的文件。【注意】如果是真的想删掉该文件,本地删除用Linux命令rm
,然后git commit
本次修改,再使用git rm
在版本库里删除此文件。如果是本地不小心删错了,利用git checkout
撤销本次修改。
2.分支类
-
git checkout -b 新分支名
:创建且切换到新分支。 -
git branch 新分支名
:创建新分支,但不切换。 -
git checkout 分支名
:切换分支。 -
git branch
:查看所有分支及当前所在分支。 -
git branch -d 分支名
:删除分支。 -
git branch -D 分支名
:强制删除暂时没有合并的分支。 -
git switch 分支名
:切换分支。 -
git switch -c 新分支名
:创建并切换到新分支 -
git merge --no-ff -m "备注" 需要合并的分支名
:不使用Fast Forward模式来合并分支,合并到当前分支。 -
git stash
:将当前工作现场保存。 -
git stash list
:查看所有已保存的工作现场。 -
git stash apply stash@{第几号工作现场}
:恢复工作现场,仍保存 stash list 里该条内容。 -
git stash drop stash@{第几号工作现场}
:直接删除stash list内该条现场信息,不恢复现场。 -
git stash pop stash@{第几号工作现场}
:恢复工作现场,同时删除stash list内该条现场信息。 -
git cherry-pick 某commit的哈希号
:在当前分支下,重复commit的操作,可以是其他分支的commit。
3.标签类
-
git tag 标签名
:给最近的commit打上标签。 -
git tag
:查看所有标签。 -
git tag 标签名 哈希值id
:给特定的commit打上标签,需配合git log
进行查看。 -
git show 标签名
:查看标签备注。 -
git tag -a 标签名 -m “备注” 哈希值id
:给标签打上备注。【注意】,标签作用于单个commit上。 -
git push 远程库别名 标签名
:将单个具体标签推送到远程库相应commit下。 -
git push 远程库别名 --tags
:将所有标签推送到远程库,各自对应。 -
git tag -d 标签名
:在本地删除具体标签。 -
git push 远程库别名:refs/tags/标签名
:删除远程库具体标签。
4.个性化
-
git config --global color.ui true
:此命令使git命令显示不同的颜色。 -
git add -f 文件名
:强制添加某个文件到git库(在使用了.gitignore的情况下)。 -
git config --global alias.命令别名 命令原名
:应用变量别名,简化命令。
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.unstage 'reset HEAD'
git config --global alias.last 'log -1'
远程命令
初次使用远程库需要设置SSH,在本地命令行中输入 ssh-keygen -t sa -C "你的邮箱地址"
,之后一路回车,在用户主目录下找到.ssh文件夹,内含id_rsa私钥和id_rsa.pub公钥,将公钥上传到github或gitee等代码托管平台即可。
-
git remote add 给远程库起的外号 git@托管平台.com:账户名/远程库名.git
:设置本地仓库对应的远程仓库 -
git push -u 远程库外号 远程库分支
:第一次推送加上参数-u
,将当前本地所在分支,推送到远程库的自定义分支,同时将本地分支与远程库分支关联起来。以后直接使用git push 远程库外号 远程库分支
即可。 -
git clone git@托管平台.com:账户名/远程库名.git
:克隆远程仓库到本地。 -
git remote
:查看已设置的远程仓库。 -
git remote -v
:查看远程库的详细信息。 -
git remote rm 远程库外号
删除已经设置的远程库。 -
git branch --set-upstream-to=远程库别名/远程库分支名 本地需要关联的仓库名
:将远程仓库与本地仓库串流。 -
git pull 远程库名 远程库分支名
:从远程仓库获取最新版仓库内容。