在git中,当使用git.commit命令时,这个Please tell me who yoy are 怎么解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在git中,当使用git.commit命令时,这个Please tell me who yoy are 怎么解决相关的知识,希望对你有一定的参考价值。

上述问题表示对于该项目,Git并没有配置完。还不能进行各种Git操作,解决方案如下:以下我都使用命令行操作(较为方便)。

(1)进入项目根目录,里面有一个.git的隐藏文件,使用  ls -a  命令可以看到:

(2)进入.git文件,里面可以看到有一个config文件,使用Mac自带的vim编辑config文件。config文件也就是git的配置文件。

(3)编辑config文件,在最后添加如下内容:

[user]

ame = chenyufeng

email = 这里填入你的邮箱

ame中可以填入git用户名,email填入你的邮箱,如果你需要提交代码到Github的话,最好填入你github的账户邮箱。

最后保存退出即可。如何在vim中保存退出?

敲esc键-->打出:冒号-->分别敲w  q-->敲回车  。就可以保存退出了。

(4)对于please tell me who you are,这个警告,我们配置完上述步骤后就可以了。目前暂时没有其他解决方案,对于每一个项目都需要这样做。当然,如果你不想用Xcode自带的git,也就不用理会这个警告了。

git的可视化操作方法介绍:

Xcode中的Source Control菜单下就是Git的所有操作,基本可以满足我们大部分的Git需求:

【1】如图可以看到我们可以新建分支、切换分支、合并分支、配置等操作。

在Configuration配置中,可以查看我们的远程仓库,分支情况等。也可以可视化进行配置添加。

【2】第二个选项Check Out,也就是检出代码,相当于从远程仓库clone代码。

【3】Commit就是提交代码,可视化的显示出你修改的部分和上一个版本的修改情况。

【4】下面的Push就是向远程仓库提交代码,你可以选择你要提交的分支:

【5】下面的Pull就是从远程仓库拉取代码,pull的时候也可以选取分支。个人建议在Push之前首先进行Pull,如果有冲突可以在本地进行解决,不要让自己的代码“污染”远程仓库。。。

【6】Discard All Changes就是让代码的所有的当前修改都消失,回到上次commit时的状态。当然,这个操作是需要谨慎的。

【7】最后的History可以看到所有的提交记录。

【8】Xcode右上角的第三个按钮可以显示版本控制编辑器,可以快速的查看你当前代码和前面任何一个版本的差异。

总结,Xcode中的Git操作基本就如上所述,应该说还是非常方便的,其他的使用细节还需要在实际开发中不断的学习和尝试。但是Xcode自带Git只是命令行Git功能的一个子集,个人建议入手Git还是从命令行开始。目前开发我是结合两者使用的,取长补短。

参考技术A

cmd运行命令提示符 ,照着执行

A命令:

git config --global user.email "你的邮箱"
git config --global user.name "你的名字"

B提示:

如果提示git “不是内部或外部命令,也不是可运行的程序”,修改系统的环境变量Path,如下图

配置完成继续执行A命令,如果还提示B,那就重启电脑让环境变量生效,再次执行A命令,打开sourceTree 便可commit你的美丽而又富含你汗水的代码

参考技术B 你在命令行中执行
git config --global user.email "你的邮箱"
git config --global user.name "你的名字"

然后再 git commit追问

这位仁兄,不行啊 还是上面的那个

追答

你试试 git config user.email 和 git config user.name 看看呢
没有参数的 > -global >--system 怀疑是不是你当前的项目设置的是空

你可以试试不加参数设置一下试试
git config user.email "你的邮箱"
git config user.name "你的名字"

追问

谢谢 还是不行! 不会是我Git安装的有问题吧

追答

不是吧, git config user.email 的结果是什么

追问

我已经搞定了! 谢谢这位仁兄了!!!!

追答

恩那就好

参考技术C 怎么 搞好的 参考技术D 邮箱太明显无效嘛。追问

解决方法?

【Git原理】深入理解git add和git commit命令

参考技术A (1) git仓库(版本库):git仓库就是一个.git文件夹。这个文件夹内包含了很多文件(见插图2),其中有一个很重要的文件夹objects,保存了暂存区的所有文件对象,包括blob对象、tree对象、commit对象等,这些对象都是一以文件的形式来保存的。还有HEAD文件,保存着最新的提交的指针。当然很多人到这里可能还是不理解objects中的文件对象和HEAD中保存的指针到底是什么意思,没关系,下面会详细讲解。

(2)工作区:在一个项目目录中,除了.git文件的其他所有文件的集合就是工作区。

(3)暂存区:暂存区可以理解为文件从修改到最后提交到git版本库之间的一个缓存,为了防止一次提交了不必要的文件,有回退的余地,便有了暂存区。

(4)HEAD:HEAD在.git文件夹中是一个文件,文件的内容是一个32位的16进制数,这只是一个指针,他指向最近一个提交点、这个提交点实质是一个commit对象,对象里包含里多个属性,包括最后一个提交点目录结构索引、上一次提交点id、提交人、提交时间等。

(1) 首先,跟着我的思路,我们来创建一个git仓库, 通过一个例子来理解git add命令

1、首先,我们通过git init来创建一个仓库,这时会生成一个.git文件夹,这个文件夹就一个git仓库

2、创建一个文件A.java
执行 git add A.java
到.git里面的objects文件中,发现,多了一个文件夹,打开,里面有一个文件,名字是一串符号,打开这个文件,里面是一串无法识别的字符。

git add做了啥?
其实,在执行git add命令的时候,git首先会通过hash函数算出文件名A.java对应的sha-1值是1fed2a34f13dd2a34f13d,这个code是一个32位的16进制数,git会取这个code的前两位作为文件夹名在.git/objects文件夹中创建一个文件夹1f,取code的后30位作为文件名,在.git/objects/1f中创建一个文件ed2a34f13dd2a34f13d,git会将A.java的文件内容通过一定的压缩保存在这个文件中
未完待续.....

本文到这里就快结束了,文中可能有些地方没有说明清楚,欢迎指定讨论,有问题欢迎骚扰,看到会第一时间回复!

以上是关于在git中,当使用git.commit命令时,这个Please tell me who yoy are 怎么解决的主要内容,如果未能解决你的问题,请参考以下文章

【Git原理】深入理解git add和git commit命令

git commit命令

发出 git commit 命令时出现纱线错误

我想为 git commit 打开 vim,但是当我写 git commit 时总是打开 nano 编辑器。谢谢[重复]

git commit命令是做啥用的?

git commit时暂时忽略已提交的文件