有关于Git的使用的一点心得和说明
这是我的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单片机开发的相关知识哒!