Git使用问题合集

Posted 何事误红尘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git使用问题合集相关的知识,希望对你有一定的参考价值。

目录

0. 概述

以前公司使用ClearCase作为版本管理工具,现在使用Git。本文主要是记录git使用过程中的一些小问题,方便自己以后查看。从初步接触,随着使用程度加深,遇到的问题也会越来越多,仍然是随时更新。
我的电脑同时安装了Git Extensions和TortoiseGit。

1. Git Extensions查看仓库信息

查看当前仓库的版本,可以直接右键:

弹出界面可以查看各个版本的commit以及修改的文件:

上面可以快捷查看版本历史,更多操作需要打开Git Extensions主界面:

左侧可以查看本地分支和远程分支以及submodules,右侧是历史记录:

2. 修改当前分支的名称


3. 忽略编译生成的文件

使用keil进行开发时,编译会生成很多过程文件。这时我们提交commit就会发现:

我们并不希望对编译生成的文件进行版本管理,这只会让我们的仓库体积变得很大。可以通过设置,让git默认过滤掉这些文件。在目录中增加一个.gitignore配置文件:

在文件中增加要忽略的文件即可。keil可以直接使用以下内容:

# A .gitignore for Keil projects.
# Taken mostly from http://www.keil.com/support/man/docs/uv4/uv4_b_filetypes.htm

# User-specific uVision files
*.opt
*.uvopt
*.uvoptx
*.uvgui
*.uvgui.*
*.uvguix.*

# Listing files
*.cod
*.htm
*.i
*.lst
*.map
*.m51
*.m66
*.scr  	# define exception below if needed

# Object and HEX files
*.axf
*.b[0-3][0-9]
*.hex
*.d
*.crf
*.elf
*.h86
*.obj
*.o
*.sbr

# Build files
*._ia
*.__i
*._ii

# Generated output files
/Listings/*
/Objects/*

# Debugger files
*.ini  	# define exception below if needed

# Other files
*.build_log.htm
*.cdb
*.dep
*.ic
*.lin
*.lnp
*.orc
*.pack 	# define exception below if needed
*.pdsc 	# define exception below if needed
*.plg
*.sct  	# define exception below if needed
*.sfd
*.sfr

# Miscellaneous
*.tra
*.bin
*.fed
*.l1p
*.l2p
*.iex

Obj/
# To explicitly override the above, define any exceptions here; e.g.:
# !my_customized_scatter_file.sct
JLinkLog.txt
*.mxproject
/MDK-ARM/JLinkSettings.ini
*.bak
*.scvd
*.ipch
*.jdebug*
/build_log.txt
/.vs
MDK-ARM/RTE/_IoTBox2/RTE_Components.h
MDK-ARM/DebugConfig/

*.sct
out/*

这时再次commit,就不会再看到编译产生的文件了,右下角的文件总数也少了很多:

4. 添加submodules

实际开发时,常常会将其他仓库作为submodules加入到我们的工程中。打开Git Extensions后,可以在左侧看到当前的分支和submodules。右键选择Manage:

在弹出的界面选择Add submodule,会继续弹出对话框,输入submodule的路径,选择要使用的分支,Add即可:

git会从远程端获取submodule的源码:

之后在Git Extensions界面的左端,就可以看到刚才添加的submodule了:

在文件目录下也会多一个.gitmodules的文件,里面记录了已添加submodule的目录、远端url以及使用的分支。

如果不想放在根目录,比如放在Middlewares文件夹下:

修改submodule的分支

添加submodule时,没有选择分支,或者选错了,如何修改呢?
进入到已添加的submodule里,check out出要使用的分支,然后回到根目录,重新commit即可。
其实也就是修改了.gitmodules文件里记录的分支。

5. 提交到上一次修改


勾选后,会提交到上一次修改。坏处就是,上一次的版本没有了,合并了。

6. 安装Git Extensions和TortoiseGit

换了电脑,重新安装配置,顺便也记录下。以下是安装包:

全部默认安装即可,在第三个包安装TortoiseGit时,可以直接配置用户名和邮箱:

全部安装后,按照2. Git Extensions打开仓库中查看当前仓库,因为是首次使用,会直接弹出配置界面:

直接点击Repair配置,主要是设置用户名邮箱,以及merge工具和对比工具。这两个工具我选择了beyond compare,选择路径后,下面command一栏会自动补充。设置好后apply应用即可:

也可以通过右键查看settings

可以看到linux tools没有配置:

可以如下设置:

7. ubuntu可视客户端

GitKraken – 超好用的 Git 可视化工具:添加链接描述

以上是关于Git使用问题合集的主要内容,如果未能解决你的问题,请参考以下文章

git基础使用合集

git使用合集

Git基本操作命令合集

Git-大合集

Git-大合集

收藏!工作中Git使用实践和常用命令流程合集