这是我的GitHub地址:GitHub of Stark Zhang
以后在此博客发布的任何文章,只要涉及到源代码,一律上传到我的GitHub并附上链接地址,欢迎star & fork!
前期的学习计划基本上还是STM32/DSP,后期会涉及各种网络技术,毕竟作为一个大二的学生,想要时间还是一抓一大把的,我可以轻易地拿出很多时间去学我想掌握的东西。
以下是我为自己选定的职业方向:
1. DSP数字信号处理/STM嵌入式实时系统
2. Linux服务器运维/Python运维自动化/大数据
好了,闲话少说,进入正题,这是一篇技术贴,讲述Git Bash的使用方法和技巧,作为自己的使用教程。
1.初始化设置
配置本机用户名和Email地址
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
创建版本库
$ cd "code directory"
$ mkdir new_repo #创建新的目录
$ cd new_repo #切换到新目录
$ git init #初始化当前目录,创建.git文件夹
2.提交数据到Git仓库
添加文件
$ git add #默认添加所有文件和文件夹
$ git add <file> #添加指定文件
#若未修改任何文件,则不会添加任何文件
提交文件
$ git commit -m "commit info"
#提交本次事务,引号内为提交信息
查询提交状态
$ git status #显示提交状态
查询修改情况
$ git diff <file>
#如果已经 git add,则无法查看区别,此步骤应放在git add之前
打印历史纪录
$ git log
$ cat <log file>
版本回退
$ git reset --hard head^
在Git中,HEAD表示当前版本,就是最新提交的版本,即使用git log打印出来的位于第一位的版本,上一个版本就是HEAD^,上上个版本就是HEAD^^,
当前向上100个可以写成HEAD~100。当然,还有一种方式就是直接使用commit id来代替HEAD^,比如版本号是cadab353589f3eef075817b890dafe8b722d802b,
那么就可以直接使用命令:
$ git reset --hard cadab353589f 使用前几位表示即可,git会自动查找
注:版本回退以后,使用git log打印的历史记录都是回退版本之前的数据,之后的都没有了,不过放心,git总有后悔药可以吃哒~
1.如果命令行窗口没有关闭,直接去前面找commit id即可;
2.如果命令行窗口关闭了,或者第二天后悔了,可以进入到该目录下,使用git reflog命令来查看以前的每一次命令,可以获得每次提交的commit id,
就可以版本回退了。
$ git reflog 可以查看命令历史,包含提交的commit id
3. 有关分支的命令
查看分支状态
$ git branch -a
#红色字体是远程仓库分支
#绿色字体和*所指的是当前所在分支
创建本地分支
$ git checkout -b <branch>
#创建名为branch的分支
切换到本地分支
$ git checkout <local branch>
推送到远程服务器/从远程服务器同步
$ git pull origin <branch> #从远程服务器同步
$ git push origin <branch> #推送到远程服务器
$ git clong <url> #下载远程仓库
3. 其他命令
关闭证书服务
$ git config --global http.sslVerify false
查看远程分支和URL
$ git remote -v
4. 忽略文件
忽略文件的原则
1.忽略操作系统自动生成的文件,比如缩略图等;
2.忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,
比如Java编译产生的.class文件;
3.忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。
忽略文件示例
/captures
# Built application files
*.apk
*.ap_
# Generated files
bin/
gen/
# Gradle files
.gradle/
/build
/*/build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
# Eclipse project files
.classpath
.project
.settings/
# Intellij project files
*.iml
*.ipr
*.iws
.idea/
# System files
.DS_Store
OK,本教程到此结束,以后会继续更新STM32单片机开发的相关知识哒!