系列文章目录


文章目录
  • 系列文章目录
  • 前言
  • 一、TortoiseGit下载安装
  • 二、使用步骤
  • 1.创建库
  • 1.需要上传的文件:
  • 不需要上传的文件:
  • 2.拉取代码


前言

以前都是用svn,现在改用git
Git是目前世界上最先进的分布式版本控制系统(没有之一)。
Git是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发。
作为一个软件开发人员,不可能不知道Git。Git作为一个复杂的版本控制系统,命令之多,即使经常使用,一些命令也记不住,一般只记住几个常用的命令,不是所有使用Git命令行都是高效的。本教程不讲Git命令,而是先让你用上git,再去学习git。本教程应该称作TortoiseGit入门指南。因为下面要借助一个图形化的软件,TortoiseGit来操作git。用GUI(图形界面)再谈CLI(命令行),我相信这会更容易让人接受。
这篇笔记的主旨并不在详细介绍Git的各种特性或是对比Git与SVN。相比与SVN用户所习惯地使用SVN的可视化用户界面TortoiseSVN,一直以来相当一部分Git用户都是直接通过命令行输入Git指令,这使得Git的学习曲线变得更加陡峭。目前Windows系统支持的Git的可视化界面也有很多,比如从Git官方(https://git-scm.com/)下载的Git GUI。但是据笔者自己的感受来说这个GUI很不堪用。这篇笔记想要介绍另外一款使用手感类似于TortoiseSVN的Git用户界面:i.e. 另一只小乌龟,“TortoiseGit”。

TortoiseGit(https://tortoisegit.org/)是Git的一个开源的Windows系统的shell接口。目前TortoiseGit官网提供了两个使用指导手册(https://tortoisegit.org/docs/)。本篇笔记仅介绍如何使用TortoiseGit实现最基本的Git版本控制,更高阶的操作请详见手册。
Git很多命令总是记不住,所以一般我们更喜欢用Tor

一、TortoiseGit下载安装

 TortoiseGit下载地址

TortoiseGit使用教程_TortoiseGit


TortoiseGit使用教程_码云_02

下载后安装
我这里安装全是默认,不做任何修改。您也可以按照自己需求自定义安装

二、使用步骤

1.创建库

(1)假设我们已有现成工程名字是:windowsPermissions

在文件夹windowsPermissions鼠标右键单击,选择Git Create repository here

TortoiseGit使用教程_Git_03


(2)弹出Git Init - TortoiseGit窗口,这里我是默认不勾选,直接“OK”

TortoiseGit使用教程_码云_04


(3)这里他提示是空的代码库,不管他,直接点“确定”,后面我会选择需要添加的文件

TortoiseGit使用教程_Git_05

TortoiseGit使用教程_码云_06


(4)在这里比较偷懒的做法是,一股脑全选,这样导致上传了大量中间临时文件,造成代码库臃肿,正确的做法是:你需要确保只上传必要的源代码和配置文件。以下是一些通常需要包含在你的代码库中的文件类型:

TortoiseGit使用教程_TortoiseGit_07


(5)这里我们使用.gitignore 文件

.gitignore 文件:创建一个 .gitignore 文件来排除不需要跟踪的文件和目录。Visual Studio 和其他开发工具通常都有模板来帮助你生成一个合适的 .gitignore 文件。

具体做法:在你的需要版本控制的根目录文件夹下,在这里是windowsPermissions目录下新建文本文件,命名

.gitignore,注意第一个字符是英文输入法下"."

.gitignore内容如下:

# .gitignore for a C++ project using Visual Studio 2022

# 二进制输出
/Debug/
/Release/

# 用户特定的设置
*.suo
*.user
*.sln.docstates
*.suo

# 编译缓存
*.obj
*.ilk
*.pdb
*.lib
*.exp
*.ilk
*.ncb
*.sbr
*.vspscc

# IDE 生成的文件
.vs/
IntelliTrace/

# 自动生成的文件
*.orig
*.rej
*.scc
*.aps
*.bak
*.sdf
*.suo
*.user
*.cache
*.log
*.ncb
*.opendb
*.opensdf
*.ipch
*.pch
*.sbr
*.scc
*.tmp
*.tlb
*.tli
*.tlh
*.tlo
*.vc.db
*.vctip
*.vcswp
*.vssscc
*.vspscc
*.vstip
*.vssscc
*.vsscc
*.vsundo
*.vswp
*.vwp
*.vwx
*.suo

# 项目文件
*.vcxproj.user
*.filters.user

# 生成的文件
*.exe
*.dll
*.res

# 临时文件
*.tmp
*.swp
*.swo

# 调试器信息
*.natvis
*.natxml
*.sln.aux.xml

# 一些 IDE 和工具生成的文件
*.DS_Store
*.nse
*.nsc
*.nsf
*.nsh
*.nsl
*.nsi
*.nsp
*.nsr
*.nss
*.nst
*.nsv
*.nsx
*.nsl
*.nsb
*.nsc
*.nse
*.nsh
*.nsl
*.nsi
*.nsp
*.nsr
*.nss
*.nst
*.nsv
*.nsx
*.nsl
*.nsb
*.nsc
*.nse
*.nsh
*.nsl
*.nsi
*.nsp
*.nsr
*.nss
*.nst
*.nsv
*.nsx
*.nsl
*.nsb
*.nsc
*.nse
*.nsh
*.nsl
*.nsi
*.nsp
*.nsr
*.nss
*.nst
*.nsv
*.nsx
*.nsl
*.nsb
*.nsc
*.nse
*.nsh
*.nsl
*.nsi
*.nsp
*.nsr
*.nss
*.nst
*.nsv
*.nsx
*.nsl
*.nsb
*.nsc
*.nse
*.nsh
*.nsl
*.nsi
*.nsp
*.nsr
*.nss
*.nst
*.nsv
*.nsx
*.nsl
*.nsb
*.nsc
*.nse
*.nsh
*.nsl
*.nsi
*.nsp
*.nsr
*.nss
*.nst
*.nsv
*.nsx
*.nsl
*.nsb
*.nsc
*.nse
*.nsh
*.nsl
*.nsi
*.nsp
*.nsr
*.nss
*.nst
*.nsv
*.nsx
*.nsl
*.nsb
*.nsc
*.nse
*.nsh
*.nsl
*.nsi
*.nsp
*.nsr
*.nss
*.nst
*.nsv
*.nsx
*.nsl
*.nsb
*.nsc
*.nse
*.nsh
*.nsl
*.nsi
*.nsp
*.nsr
*.nss
*.nst
*.nsv
*.nsx
*.nsl
*.nsb
*.nsc
*.nse
*.nsh
*.nsl
*.nsi
*.nsp
*.nsr
*.nss
*.nst
*.nsv
*.nsx
*.nsl
*.nsb
*.nsc
*.nse
*.nsh
*.nsl
*.nsi
*.nsp
*.nsr
*.nss
*.nst
*.nsv
*.nsx
*.nsl
*.nsb
*.nsc
*.nse
*.nsh
*.nsl
*.nsi
*.nsp
*.nsr
*.nss
*.nst
*.tlog
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121.
  • 122.
  • 123.
  • 124.
  • 125.
  • 126.
  • 127.
  • 128.
  • 129.
  • 130.
  • 131.
  • 132.
  • 133.
  • 134.
  • 135.
  • 136.
  • 137.
  • 138.
  • 139.
  • 140.
  • 141.
  • 142.
  • 143.
  • 144.
  • 145.
  • 146.
  • 147.
  • 148.
  • 149.
  • 150.
  • 151.
  • 152.
  • 153.
  • 154.
  • 155.
  • 156.
  • 157.
  • 158.
  • 159.
  • 160.
  • 161.
  • 162.
  • 163.
  • 164.
  • 165.
  • 166.
  • 167.
  • 168.
  • 169.
  • 170.
  • 171.
  • 172.
  • 173.
  • 174.
  • 175.
  • 176.
  • 177.
  • 178.
  • 179.
  • 180.
  • 181.
  • 182.
  • 183.
  • 184.
  • 185.
  • 186.
  • 187.
  • 188.
  • 189.
  • 190.
  • 191.
  • 192.
  • 193.
  • 194.
  • 195.
  • 196.
  • 197.
  • 198.
  • 199.
  • 200.
  • 201.
  • 202.
  • 203.
  • 204.
  • 205.
  • 206.
  • 207.
  • 208.
  • 209.
  • 210.
  • 211.
  • 212.
  • 213.
  • 214.
  • 215.
  • 216.
  • 217.
  • 218.
  • 219.
  • 220.
  • 221.
  • 222.
  • 223.
  • 224.
  • 225.
  • 226.
  • 227.
  • 228.
  • 229.
  • 230.
  • 231.
  • 232.
  • 233.
  • 234.
  • 235.
  • 236.
  • 237.
  • 238.
  • 239.
  • 240.
  • 241.
  • 242.
  • 243.
  • 244.
  • 245.
  • 246.
  • 247.
  • 248.
  • 249.
  • 250.
  • 251.
  • 252.
1.需要上传的文件:

源代码文件(例如 .cpp 和 .h 文件)。
资源文件,如图像、配置文件等如果对程序运行至关重要的话。
项目文件(.vcxproj 和 .vcxproj.filters),这些文件定义了项目的构建设置。
任何自动生成的文件,如果你希望在版本控制中跟踪它们的变化(例如某些生成的头文件)。
文档文件,如 README.md, LICENSE 等。

不需要上传的文件:

二进制输出文件(例如 .exe, .obj, .pdb 等)。这些通常由编译器生成,并且可以通过构建过程重新生成。
中间构建文件夹,如 Debug 和 Release 目录。这些包含编译后的对象文件和可执行文件。
用户特定的设置文件,比如 .vs 目录下的用户工作区文件(.vs\yourprojectname.vs)。
NuGet 缓存文件,如 packages 目录或 .nuget 文件夹(如果你使用了 NuGet 包管理器)。
IDE 特定的文件,例如 .sln.user 文件。这些文件包含了用户的特定设置,不应共享给其他人。
系统或编辑器生成的临时文件,例如备份文件或者交换文件。
为了帮助你管理这些文件,你可以创建一个 .gitignore 文件来排除不需要提交的文件。下面是一个针对 Visual Studio 2022 项目的示例 .gitignore 文件:
(6)再次选择加入到版本控制的文件

TortoiseGit使用教程_Gitee_08


(7)TortoiseGit自动过滤掉了忽略文件,直接点击“OK”

TortoiseGit使用教程_git_09


(8)点击Commit,这里只是提交到本地仓库,接下来还要提交到网络的代码仓库

TortoiseGit使用教程_git_10


(9)推送到云端的代码仓库

TortoiseGit使用教程_git_11


需要提交到云端的代码仓库地址,我们这里使用Gitee码云

TortoiseGit使用教程_码云_12


 码云官网 这里假设您已经注册了码云的账号,选择"新建仓库"

TortoiseGit使用教程_Git_13


填入名称以及说明信息,选择“私有”点击“创建”

TortoiseGit使用教程_git_14


生成仓库代码地址:https://gitee.com/usname/microsoft-store-network-repair-Sub-project.git

TortoiseGit使用教程_TortoiseGit_15


Arbitrary URL:复制你的仓库地址,然后点击“OK”

TortoiseGit使用教程_Gitee_16


输入你的Gitee用户名和密码,点击"Continue"

TortoiseGit使用教程_TortoiseGit_17


上传完成后,点击“Close”

TortoiseGit使用教程_git_18


刷新一下浏览器,发现我们的仓库已经存在了

TortoiseGit使用教程_码云_19

2.拉取代码

(1)在空白地方选择Git Clone

TortoiseGit使用教程_码云_20


(2)URL中输入仓库地址:https://gitee.com/aoxuestudy/microsoft-store-network-repair-Sub-project.git

点击"OK"

TortoiseGit使用教程_码云_21


提交修改,这里需要添加注释说明,并选择“Commit & Push”,就直接推送到云端

TortoiseGit使用教程_码云_22