0%

要区分Go语言和Python的本质区别:Go语言是变量存的是一片内存地址,修改内容时修改的是内存地址中的内容,而python中是变量只是标签,每次修改,改变的是变量(标签)指向地方,内存中的内容没有变。

阅读全文 »

func eval(a,b int, op string) int 定义的方式和变量类似,都是函数名在前,返回值类型在后,类型是用来指定函数返回值得类型,若函数没有返回值,则不需要指定函数类型...

阅读全文 »

Go在声明变量的时候,自动对变量的内存区域进行初始化操作,即变量在初始化时没有进行赋值的情况下,类型会有相应的默认值...

阅读全文 »

提交 commit

指定要提价的单个文件

1
git commit [指定的文件名] -m "此次提交的注释"   # 若不添加文件,则默认将暂存区的所有文件提交
1
git commit -am "此次提交的注释"

简化了操作,直接完成了 git add 和 git commit 的操作,但是注意,该操作只限定于对已经被追踪的文件,若有新的未被追踪的文件,则无法使用该命令。

查看不同

查看当前仓库中的文件和上一次提交的不同的地方

1
git diff

查看执行 git add之后,暂存状态(还未git commit提交)和上次提交不同的地方

1
git diff --cached 

查看对已经执行git add后的文件进行修改后与上次提交之间的不同。

1
git diff HEAD

在文件 git add 之后,又进行了修改,文件会有两个状态,分别是未add和未commit,此时使用git diff 查看到的不同是未add的和上次的区别,想要查看两次的区别,使用git diff HEAD,可以查看。

查看与某个指定版本的差异

1
git diff hash值 

以上所有的 git diff 指令均可添加文件名进行指定文件的查询

日志记录

查看简略的日志记录

1
git log --oneline

简略的日志记录,但是展示了完整的版本号信息

1
git log --pretty=oneline

带时间线的图形化显示

1
git log --graph 

查看所有分支的所有操作记录(包括删除的分支记录)

1
git reflog

版本回退

1
2
git add 2.py 添加一个新文件
git commit --amend --no-edit 提交

参数解释:
–amend 参数:将这次改变放到上次的 commit 中
–no-edit 参数:不修改之前的 commit 评论,仍然使用之前的评论

结果: 替换了上次commit的版本,仍然使用之前的评论,版本号被修改,之前的版本号消失。

如果使用 git commit --amend -m "xxx" 命令,则表示将此次的提交合并到上次的提交记录中,且修改上次的提交注释,其他的信息不变(使用的还是上次的版本号)。

回退暂存区的内容,用于在 git add 之后反悔,使用 git reset 返回到 add 之前,可以添加文件名,若没有文件名,则默认还原所有的。

1
git reset [暂存区文件名]

回到最近一次commit的版本

1
git reset --hard HEAD  

回到HEAD指向的commit的版本的前一个版本,效果等同于 git reset --hard HEAD~2

1
git reset --hard HEAD^ 

回到相应版本号所相应的版本

1
git reset --hard commit_id 

回退到对应的版本之后,此时使用 git log 只能查看到当前回退所在的版本之前的日志,回退版本之后的日志无法查看,此时可以使用 git reflog 查看所有操作的日志

文件的版本回退

1
2
3
4
5
git checkout 版本号 -- 文件名
注意:
-- 前后都有一个空格
命令只会对指定文件进行版本的回退,而不是整个git仓库的文件
git reset是将整个仓库的版本回退到某个记录,但是git checkout则是将某个单独的文件的版本回退到某个版本

分支

创建分支方式一

1
git branch 分支名 

查看所有分支的情况,分支之前的*,表示当前所处在的分支

1
git branch

创建分支方式二

1
git checkout -b 分支名 # 使用该方式创建的分支可以在创建完成后直接进入到该分支下。

切换分支

1
git checkout 分支名

注意:若当前分支中有 git add 之后,没有进行提交的文件,此时是不能切换分支的

修改分支名称

1
git branch -m new_branch_name

修改当前分支的名称,GitHub现在不再使用master作为默认的主分支,改为使用main。且在初始化的时候,会提示执行 git config --global init.defaultBranch branch_name 修改默认的分支名。

删除分支

1
git branch -d 分支名 

注意:使用该命令时,当前所在的分支一定不能是要删除的分支

合并分支

1
git merge --no-ff -m 需要被合并的分支名

参数解释:
–no-ff :需要和 -m 参数一起使用,表示需要设置合并分支的消息,此时会新建一个节点,表示为合并的节点,不添加该参数时表示不添加合并信息,此时的节点信息为合并的分支的最新节点的信息。

注意:合并的对象,若想将分支b的内容合并到分支a中,则需要在分支a中使用git merge b进行。

冲突

当合并的两个分支都对同一个文件做了修改,合并的时候就会提示冲突,此时 git 的处理方式是:提示有冲突的文件,在该文件中使用git的标志标示出来,由用户决定保留的内容,之后再由用户手动commit,完成本次的合并提交。

合并之后,冲突的分支中的内容不变(本来分支中的内容就不会变),虽然此时和主分支中冲突文件的内容不同,因为解决冲突的问题,版本管理器也就认为这两个文件是一样的了。

暂存,临时修改

1
2
3
4
5
6
临时修改:git stash

git stash 将当前的工作区 存起来
此时可以切换到别的分支,或者创建新的分支来完成别的工作

再切换到当前分支,使用git stash pop 就可以继续之前的工作了

删除存储的文件

同时删除工作区和索引中的文件

1
git rm 文件名

仅从索引中删除文件

1
git rm --cached 文件名

此方式删除后,本地文件还存在,只是不希望这个文件被版本控制。此删除方式多用在修改 .gitignore 文件时,因为修改 .gitignore 文件后,若被忽略的文件在之前已经被添加到仓库中,文件忽略是没有效果的。

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment