商汇粹外网资源平台

搜索
查看: 1692|回复: 8

如何使用 git 比较好?有哪些配置?

[复制链接]

该用户从未签到

8

主题

41

帖子

143

积分

注册会员

Rank: 2

积分
143
发表于 2022-9-27 11:03:10 | 显示全部楼层 |阅读模式
或者说,用它来做什么。有哪些配置。
回复

使用道具 举报

该用户从未签到

0

主题

17

帖子

67

积分

注册会员

Rank: 2

积分
67
发表于 2022-9-27 11:10:34 | 显示全部楼层
与其说 Git 的配置如何如何,我认为更重要的是建立更完善的项目开发流程,开发 / 新功能 / 产品 / 补丁 四条分支并行,能够最大限度构造稳定的开发流程。
参考这几篇文章:
http://www.juvenxu.com/2010/11/28/a-successful-git-branching-model/
http://www.iitime.com/i/24653.html
http://saberma.me/git/2010/10/25/git-flow.html
我是看完 juvenxu 这篇,理解了 git 为何优美。
工具是辅助,完善流程才是关键,svn 也能实现的不错,git 只是把这些变得漂亮易用而已。
回复

使用道具 举报

该用户从未签到

3

主题

34

帖子

124

积分

注册会员

Rank: 2

积分
124
发表于 2022-9-27 11:17:58 | 显示全部楼层
自己的一点点Git的使用经验纯粹是从GitHub开始的,也没有太多的规范的项目流程经验,不过无论是否使用GitHub(当然非常推荐使用 :) ),本地使用Git进行代码或者各种配置文件的版本控制是非常不错的,最简单的比如修改配置文件后养成commit的习惯,这样无论是否误删了文件,直接从Git里拿回来就可以了~
推荐资料如下:
Got GitHub - http://www.worldhello.net/gotgithub/index.html
Git Community Book - http://gitbook.liuhui998.com/
Pro Git - http://github.danmarner.com/section/toc/
回复

使用道具 举报

该用户从未签到

8

主题

46

帖子

140

积分

注册会员

Rank: 2

积分
140
发表于 2022-9-27 11:25:22 | 显示全部楼层
1、如果LZ想快速开始使用git,建议到http://github.com注册个帐号并跟随它的tutorials走一遍。
2、如果LZ是想搭建自己的git中心,《pro git》这本书有详细的教程,网上有开源电子版。
回复

使用道具 举报

该用户从未签到

5

主题

26

帖子

102

积分

注册会员

Rank: 2

积分
102
发表于 2022-9-27 11:32:46 | 显示全部楼层
没什么忠告,就是别为了用 git 而用 git 。
回复

使用道具 举报

该用户从未签到

5

主题

19

帖子

84

积分

注册会员

Rank: 2

积分
84
发表于 2022-9-27 11:40:10 | 显示全部楼层
Git概述




Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。



Git常用命令

版本库:.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等。
工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码;
暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方。

Git工作区中文件的状态
Git工作区中的文件存在两种状态:
1.untracked 表跟踪(未被纳入版本控制)
2.tracked 已跟踪(被纳入版本控制)
(1)Unmodified 未修改状态 ;
(2)Modified 已修改状态;
(3) Staged 已暂存状态
注意:这些文件的状态会随着我们执行Git的命令发生变化
Git全局设置
当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息。
设置用户信息
git config --global user.name “小威要好好学习呀”
git config --global user.name “3078686780@qq.com”
查看配置信息
git config --list
上面设置的user,name和user.email并不是在注册码云账户时使用的用户名和邮箱,此处可以任意设置。
本地仓库命令

git status 查看文件状态
git add 将文件的修改添加到暂存区
git reset 将暂存区的文件取消暂存或切换到指定版本
git commit 将暂存区的文件修改提交到版本库
git log 查看日志
例子:在hello-git文件夹下新建一个文件User.java。

第一步的add *把User.java文件纳入了版本控制,因此展现为绿色。
执行完第一张图,再创建user.xml文件而不执行add命令,则user.xml没有纳入版本控制,会变红。

此时再执行add * 命令则会把user.xml纳入版本控制。如下图:

commit 提交命令,-m为注释, 后面引号内容为注释内容,User.java是要从暂存区中提交的文件。但是出现了邮箱地址错误。

出错原因是没有进行用户名、邮箱设置所导致。

此时如果修改文件中的内容

文件会变为modified变红状态

再次添加即可恢复,放到缓存区

打印log日志,可以看到commit后面的版本号

使用reset命令可以回到版本号之前的状态

结果显示建立的user.xml已经没有了,因为在此版本号时user.xml还没有建立

远程仓库命令

前面执行的命令操作都是针对的本地仓库,下面是远程仓库命令。
git remote 查看远程仓库
git remote add shortname 添加远程仓库
git clone 从远程仓库克隆
git pull 从远程仓库拉取
git push 推送到远程仓库
如果想查看已经配置的远程仓库服务器,可以运行git remote 命令,它会列出每一个远程服务器的简写。如果已经克隆了远程仓库,那么至少应该能看到origin,这是Git克隆的仓库服务器的默认名字。

添加远程仓库之后

新建text.txt文档,并提交,然后使用push命令将文件推到gitee上面

打开gitee,上面显示下图,表示已经上传上去,其中master表示默认主分支

此时编辑text.txt文件内容

重新将text.txt加入到缓冲区,提交,并推到gitee上面

git上面显示内容

需要注意事项
在使用git push 命令将本地文件推送至码云仓库时,需要进行身份认证,认证通过才可以推送。
博主在运行的时候也出现了**Incorrect username or password ( access token )**错误,解决方法如下
1.第一步,打开控制面板

2.点击用户账户,管理你的凭据

3.点击Windows凭据,普通凭据里有gitee相关的数据

4.如果用户名账户密码错的话,点击编辑即可修改完成

以上就是push命令发生错误时的修改方法
创建另一个仓库 hello-java。
pull命令如下,其中origin是别名,此时显示 Already up to date 表示已经更新了,这个命令表示从gitee仓库中获取文件。

上一张图已经将gitee仓库的文件拉取到了xiaohei文件夹中,此时新建xiaowei.txt文件。

利用老方法将xiaowei.txt文件上传并提交

此时xiaohei在gitee上这样显示

xiaobai此时的文件是这样



将gitee上面的文件用pull命令给xiaobai,所以xiaobai文件夹里会多出来一个文件。



分支操作

此操作以hello-world文件为例。
分支是Git使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。同一个仓库可以有多个分支,各个分支相互独立,互不干扰。
通过git init 命令创建本地仓库时默认会创建一个master分支。
关于分支的相关命令,具体如下:
git branch 查看本地所有分支
git branch -r 查看远程所有分支
git branch -a 查看本地和远程所有分支
git branch [name] 创建分支
git checkout [name] 切换分支
git push [shortName] [name] 推送至远程仓库分支
git merge [name] 合并分支

创建b1,b2分支,checkout命令是切换分支,后面括号里写什么就代码在那个分支上。

将b1分支上传到远程仓库,b1–>b1是指本地b1到远程b1。



gitee仓库显示,此时b2分支还没有上传到仓库,因此仓库里还没有b2分支



下面我们切换到master分支,看看master分支上都有什么文件



切换到b1目录,b1目录下有这些文件


将master分支上传到仓库


b1分支上传到仓库,相比master少了xiaowei.txt文件

给b2分支创建b2.txt文件,并将b2分支上传到远程仓库


将b2.txt文件添加到master分支并上传

gitee仓库显示

b2分支修改文件


此时如果将master分支和b2分支合并,会发生错误,因为master分支中的b2.txt文件和b2分支下的b2.txt文件冲突,内容不一样

会发生如图冲突错误


完成会仓库显示

标签操作

Git中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。
比较有代表性的是人们会使用这个功能来标记发布结点(v1.0、v1.2等)。下面是mybatis-plus的标签:

标签常用命令
git tag 列出已有的标签
git tag [name] 创建标签
git push [shortName] [name] 将标签推送至远程仓库
git checkout -b [branch][name] 检出标签





v1标签下的文件


v2标签下的文件

可以看出两个标签的状态是不一样的。标签就像我们照照片一样,不同时期的照片我们状态可能不一样。
Idea上执行Git

将我们在前面创建的文件导入idea中,创建两个controller类,点击上面的Git创建即可

第二种方式,点击图中的箭头也可以提交,左边箭头为更新项目,右边箭头为推送

图中也可以管理远程仓库,填写仓库的路径即可



下图为将idea中的项目推送到远程仓库

下图为将项目推送到仓库的结果

idea上的git在右下角有很多功能,比如分支等。





文章到此就结束了,在idea上的操作将比较少,大致讲了一下,还需各位小伙伴儿在idea上动手操作操作。
文章有什么写的不准确的地方还请大佬斧正   
再次感谢各位小伙伴儿的支持   
回复

使用道具 举报

该用户从未签到

8

主题

46

帖子

140

积分

注册会员

Rank: 2

积分
140
发表于 2022-9-27 11:47:34 | 显示全部楼层
看需求用比较好。。。
.gitignore文件用起来。。。
自己一个小工程代码量不上万的一个master分支足够折腾了。。。
一个网站要求动态部署的加个hooks。。。
多人合作开发的可以用一下分支管理。。。
要求长期维护持续开发的可以用一下tag,然后也注意下commit msg。。。
命令很多,现查就好。。。多查几次就会背了。。。
想刷github提交统计图的可以写个readme.md文件写日记。。。反正也没人看。。。
我只是个菜鸟。。。凑个数坐等大大们更专业的回答。。。
回复

使用道具 举报

该用户从未签到

8

主题

36

帖子

124

积分

注册会员

Rank: 2

积分
124
发表于 2022-9-27 12:02:22 | 显示全部楼层
虽然在 Linux 上设置 Git 很简单,但为了获得完美的配置,我做了以下五件事:

  • 创建全局配置
  • 设置默认名称
  • 设置默认电子邮件地址
  • 设置默认分支名称
  • 设置默认编辑器
<hr>我使用 Git 管理我的代码、shell 脚本和文档版本控制。这意味着对于我开始的每个新项目,第一步是为其内容创建一个目录并将其放入 Git 存储库:
$ mkdir newproject$ cd newproject$ git init
有一些我一直想要的常规设置。虽然不多,但我确实是不想每次都重复配置。所里我还是更喜欢利用 Git 的全局配置能力。
Git 提供了git config手动配置的命令,但这需要一些注意事项。例如,所要设置的常见项目是您的电子邮件地址。您可以通过运行git config user.email后跟您的电子邮件地址来设置它。但是,这只有在您位于当前的Git 目录中才会生效:
$ git config user.email alan@opensource.comfatal: not in a git directory
另外,当这个命令在 Git 存储库中运行时,所采用的配置是特定的。所以必须为新的存储库重复该过程。我可以通过全局设置来避免这种重复。--global选项将指示 Git 将电子邮件地址写入全局配置文件~/.gitconfig,甚至在必要时创建它:
$ git config --global user.email example@example.com$ cat ~ / .gitconfig[ user ]        email = example@example.com
这里的缺点是,如果您有大量首选设置,您将需要输入很多命令。这是耗时的并且容易出现人为错误。Git 提供了一种更有效、更方便的方式来直接编辑您的全局配置文件——这是我列表中的第一项——创建全局配置
1.创建全局配置

如果你刚开始使用 Git,你可能根本没有这个文件。不用担心,让我们跳过搜索并开始吧。只需使用以下--edit 选项:
$ git config --global --edit
如果没有找到文件,Git 会生成一个包含以下内容的文件,并在你的 shell 环境的默认编辑器中打开它:
# 这是 Git 的每用户配置文件。[ user ]# 请修改并取消注释以下行:# name = Alan# email = alan@hopper~~~"~/.gitconfig" 5L, 155B                                     1 , 1           All
现在我们已经打开了编辑器并且 Git 在后台创建了全局配置文件,我们可以继续进行其余的设置。
2.设置默认名称

Name 是文件中的第一个指令,所以让我们从它开始。设置我的命令行是git config --global user.name "Alan Formy-Duval". 无需运行此命令,只需编辑配置文件中的name指令:
name = Alan Formy-Duval
3.设置默认电子邮件地址

电子邮件地址是第二个指令,所以让我们更新它。默认情况下,Git 使用系统提供的名称和电子邮件地址。如果这是不正确的,或者您更喜欢不同的东西,您可以在配置文件中指定它。事实上,如果你还没有配置它们,Git 会在你第一次提交时通过友好的消息通知你:
Committer: Alan <alan@hopper>Your name and email address were configured automatically basedon your username and hostname. Please check that they are accurate....
设置我的命令行是example@example.com。相反,编辑配置文件中的电子邮件指令并提供您的首选地址:git config --global user.email
email = example@example.com
我喜欢设置的最后两个设置是默认分支名称和默认编辑器。当您仍在编辑器中时,需要添加这些指令。
4.设置默认分支名称

目前有一种趋势,即不再使用master作为默认分支名称。事实上,Git 会在新存储库初始化时通过友好的消息突出这一趋势:
$ git inithint: Using 'master' as the name for the initial branch. This default branch namehint: is subject to change. To configure the initial branch name to use in allhint: of your new repositories, which will suppress this warning, call:hint:hint:   git config --global init.defaultBranch <name>
这个名为defaultBranch的指令需要位于名为init的新部分中。现在普遍接受的是,许多编码人员使用main这个词作为他们的默认分支。这是我喜欢使用的。将此部分后跟指令添加到配置中:
[init]            defaultBranch = main
5.设置默认编辑器

我喜欢设置的第五个设置是默认编辑器。这是指每次您将更改提交到存储库时,Git 将显示用于输入您的提交消息的编辑器。无论是nano、emacs、vi还是其他东西,每个人都有偏好。我对 vi 很满意。因此,要设置您的编辑器,请添加一个包含editor指令的核心部分
[core]            editor = vi
那是最后一个。退出编辑器。Git 将全局配置文件保存在您的主目录中。如果再次运行编辑命令,您将看到所有内容。注意配置文件是纯文本文件,所以也可以使用an class="nolink">cat命令等文本工具查看。这就是我显示的内容
$ cat ~ / .gitconfig[ user ]        email = alan@opensource.com name = Alan Formy        -Duval[ core ]        editor = vi[ init ]        defaultBranch = main


<hr>hi,这里是 @GeekNews

,专注于分享技术文章、行业前沿动态、科技资讯的平台。欢迎订阅关注,如果文章对您所有帮助,还请点赞、评论、关注
回复

使用道具 举报

该用户从未签到

7

主题

23

帖子

87

积分

注册会员

Rank: 2

积分
87
发表于 2022-9-27 12:09:46 | 显示全部楼层
http://github.com自己出来了一个app,下载一个,好用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表