
这是因为之前git commit已提交的Email和现在正要提交的Email冲突,把它改成一致就OK了。
git commit已提交的Author信息可以通过git log查看
所有 *** 作要在git工程下进行 cd 你的项目拖进去(终端进行)
1回退到当前版本(放弃所有修改)(这里只回退到最后一次提交的版本)
git status 回车 (查看状态)
git reset --hard 回车 (放弃当前所有修改及所有待commit)
2针对单个文件的修改回退
git checkout haham 回车
3回到某个版本,并保存该版本以后的修改。(此步骤慎重 *** 作)
git log 回车 (查看提交日志 会退到指定版本) 以下是打印信息
commit cac5f6efe29163081694b6c2f6cf9303436a18f6
Author: AppleDate: Mon May 8 08:28:31 2017 +0800
2017 5 8
git reset cac5f6efe29163081694b6c2f6cf9303436a18f6 回车
4直接回到某个版本,放弃该版本以后的修改。
git log 回车
commit cac5f6efe29163081694b6c2f6cf9303436a18f6
Author: AppleDate: Mon May 8 08:28:31 2017 +0800
2017 5 8
git reset --hard cac5f6efe29163081694b6c2f6cf9303436a18f6 回车
以上是 *** 作本地git版本,以下 *** 作远程仓库的版本(祸从手出, *** 作需谨慎)
1回退远程仓库的版本
先在本地切换到远程仓库要回退的分支对应的本地分支,然后本地回退至你需要的版本,然后执行:
git push <仓库名> <分支名> -f
2以当前版本为基础,回退指定个commit
首先,确认你当前的版本需要回退多少个版本,然后计算出你要回退的版本数量,执行如下命令
git reset HEAD~X //X代表你要回退的版本数量,是数字!!!!
需要注意的是,如果你是合并过分支,那么背合并分支带过来的commit并不会被计入回退数量中,而是只计算一个,所以如果需要一次回退多个commit,不建议使用这种方法
3回退到和远程版本一样
有时候,当发生错误修改需要放弃全部修改时,可以以远程分支作为回退点退回到与远程分支一样的地方,执行的命令如下
git reset --hard origin/master // origin代表你远程仓库的名字,master代表分支名
公司的开发从SVN切换到Git,在SVN下,可以很方便的只获取版本库中一个或多个目录的内容,但是Git的克隆,默认是直接拉取整个远程仓库,如果项目比较大,大量和自己无关的内容也会拉到本地,占用很多硬盘空间。
在网上搜了一下,Git在17版本后,已经支持只Checkout部分内容,这个功能叫做 sparse checkout(稀疏检出)。
git config coresparsecheckout true
echo "BATInterview" >> git/info/sparse-checkout
只拉取BATInterview文件夹
此时会在sparse-checkout文件中追加
如果以后修改了 git/info/sparse-checkout,增加或删除部分目录,可以执行如下命令重新Checkout
$ git checkout master
或执行以下命令:
$ git read-tree -mu HEAD
仅仅修改设置,将coresparsecheckout设为false是不生效的,需要修改 git/info/sparse-checkout 文件,用一个”“号替代其中的内容,然后执行 checkout 或 read-tree 命令。
如果只拉取最近一次的变更,忽略以前的变更记录,在拉取时可以加参数depth,如git pull --depth=1 origin master
如果本地已经建了版本库,要使用这个功能,可以进入版本库的目录,执行以下命令
子目录的匹配在 sparse-checkout 文件中,如果目录名称前带斜杠,如/docs/
,将只匹配项目根目录下的docs目录,如果目录名称前不带斜杠,如docs/
,其他目录下如果也有这个名称的目录,如test/docs/
也能被匹配。而如果写了多级目录,如docs/05/
,则不管前面是否带有斜杠,都只匹配项目根目录下的目录,如test/docs/05/
不能被匹配。
通配符 “ “ (星号)在 sparse-checkout 文件中,支持通配符 “ “,如可以写成以下格式:
“!” (感叹号)在 sparse-checkout 文件中,也支持排除项 “!”,如只想排除排除项目下的 “docs” 目录,可以按如下格式写:
很像 gitignore的写法
要注意一点:如果要关闭sparsecheckout功能,全取整个项目库,可以写一个” “号,但如果有排除项,必须写”/ “,同时排除项要写在通配符后面。
参考: >
以下是svn客户端常用命令一览:
查看最近3个版本日志
svn log [PATH] -v -l3
log消息代码 A :added D:deleted M:modified R:replaced
查看某两个版本,用来对比
svn log -r 14:15
添加文件或目录到你的wc,打上新增标记。这些文件会在下一次你提交wc的时候提交到svn服务器。
在提交前,你也可以用svn revert撤销新增的文件。
svn add filejava
取消提交
svn revert --recursive filejava
显示某个已受控文件的每一行的最后修改版本和作者
svn blame filejava
输出指定目标的内容,这里的目标一般是文件。
svn cat filejava 显示filejava内容。
svn cat filejava -r 2 ##显示版本号为二的filejava内容。
svn cat filejava --revision HEAD ##显示最新版本的filejava内容。
将wc中的文件从逻辑上分组
svn changelist CLNAME TARGET
svn changelist --remove TARGET
别名:cl
svn cl clName filejava file2java file3java ##将filejava等三个文件加入名叫clName的changelist
svn commit --changelist clName -m "ci" ##将clName下的所有文件提交
检出
svn checkout URL[@REV] [PATH]
别名:co
svn checkout file:///var/svn/repos/test file:///var/svn/repos/quiz working-copies
svn checkout -r 2 file:///var/svn/repos/test mine ##check out 版本号为2的项目
递归的清理WC中过期的锁和未完成的 *** 作
svn cleanup
把你WC的更改提交到仓库
svn commit [PATH]
别名:ci
svn commit -m "added howto section" ##默认情况下提交必须提供log message
javaopy *** 作可以从WC到WC;WC到URL;URL到WC;URL到URL。现在SVN只支持同一个仓库内文件的拷贝,不允许跨仓库 *** 作。
svn copy SRC[@REV] DST
别名:cp
svn copy -r 11 file:///var/svn/repos/test/trunk \
file:///var/svn/repos/test/tags/0632-prerelease \
-m "Forgot to tag at rev 11"
##copy命令是创建分支和标记的常用方式。copy到url的 *** 作隐含了提交动作,所以需要提供log messages。
删除
svn delete PATH
别名:del,remove,rm
访问库:如果PATH是库地址时会,删除WC内的文件不会。
svn del localfilejava ##删除WC里的文件,在下一次提交WC的时候才会真正在仓库里将对应文件删除。
svn del file:///var/svn/repos/test/yourfile ##删除仓库里的文件
是的,拉取之后要获取新的内容,以便获取最新的更改。要获取新的内容,你需要执行git pull命令,它将从远程仓库中拉取新的内容并将其合并到本地仓库中,以便你可以使用最新版本。如果你想更改本地仓库中的内容,你可以执行git push命令来推送你的更改到远程仓库中,以便别人也可以获取最新内容。
如下步骤:
1创建xxx_template文件,其内容为团队制定的Git提交注释规范,如:
Desgraption:
Date:
Author:
2通过git config命令配置commit_template,如:
git config –global committemplate /d/develop/Git/Git_Home/commit_template
3设置git commit时填写注释所用的编辑器,如:
git config –global coreeditor vi
OK,设置完成,提交使用git commit会出现与下图相似的界面填写好注释才能提交成功:
以上就是关于git user info怎么修改全部的内容,包括:git user info怎么修改、码云管理项目版本控制的终端命令(git)、Git只获取部分目录的内容(稀疏检出)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)