有关于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单片机开发的相关知识哒!

原文地址:https://www.cnblogs.com/program-tech/p/6594173.html