博文

目前显示的是标签为“git”的博文

升级MacOS(Mojave)后使用git问题

将MacOS升级到Mojave版本后,使用git工具时,出现如下错误提示: guochongxindeMacBook-Pro:study guochongxin$ git status . xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun 解决方法: 执行xcode-select --install命令,会弹出一个对话框,按提示安装上相应工具即可,因为git附加了Xcode的命令。 参考资料: https://my.oschina.net/gooiem/blog/2208380 http://www.cnblogs.com/snifferhu/p/6196687.html https://stackoverflow.com/questions/32896524/invalid-active-developer-path-error-after-upgrading-to-el-capitan

搭建基于Gitosis权限管理的GIT服务器

现在越来越多的开源项目使用git来进行管理,而git是分布式的,没有严格的界限来区分客户端和服务器,而我们习惯上都需要有一台服务器来控制的,故而接下来的实验中会使用一台机器来作为服务器角色并在上面安装上Gitosis的权限管理系统(当然也可以使用Gitolite),此次我们的实验环境是VMware上面安装了Ubuntu的虚拟机1台(同时充当服务器和客户端),下面是整个实验过程的记录: 1.安装上git工具(服务器和客户端都须安装):     sudo apt-get install git-core 2.安装Gitosis(仅服务器上需要安装):     sudo apt-get install python-setuptools     mkdir ~/src     cd ~/src     git clone  https://github.com/res0nat0r/gitosis.git     cd gitosis/     sudo python setup.py install 3.创建一个git帐号(仅服务器上):     sudo adduser --system --shell /bin/sh --gecos 'git version control' --group --disabled-password --home /home/git git 4.生成SSH密钥对(仅客户端上):     ssh-keygen     命令执行过程中全部按“回车”键默认配置,最终会在~/.ssh目录下生成id_rsa和id_rsa.pub一对密钥。接下来将生成的id_rsa.pub公钥复制到服务器上(一般使用scp命令,由于我们在同一台机器,故该步省略) 5.将公钥导入初始化gitosis(在服务器上)     sudo -H -u git gitosis-...

repo操作导致代码消失一例解决方法

    有一次整理了下代码后准备提交,进行了git add和git commit操作后,害怕服务器上的代码又更新了,就repo sync了一下,再git log,发现刚才的commit没有了,之前在repo init时也有使用-m参数指定使用相应的mainfest.xml文件,也使用过repo status查看过相应的branch情况,但最终还是没有相应的commit log信息,头痛啊,一周的工作就要白费了吗?不甘心啊,不停的使用git branch -a和git checkout来切换分支,还是没有相应的提交,不可能所有的分支都没有吧?于是上网查找了下,发现刚才commit时有可能是在(no branch)上进行操作的,使用git reflog就可以查看到刚才的提交信息了,接下来再使用git checkout切换到相应的分支,然后再使用git merge命令将刚才reflog看到的相应commit合并过来,再push下就可以了,总的步骤如下:     git reflog     git checkout ourbranch     git merge commitID     git push     就这样,把我一周的工作找回来了,再进行了一遍repo init和repo sync操作,发现默认是在(no branch)上的,即执行git branch -a时有如下返回:     * (no branch)     remotes/origin/master     remotes/origin/pre-release     remotes/origin/release     remotes/origin/top     终于把问题型清楚了,切记以后使用repo时要切换分支啊,没想到首次使用repo来管理提交代码(以前只是从google上下载android源码而已)就碰到这么严重问题,还好放松后好好想了一下和查查资料,避免一周工作白费,还有一点以后使用新工具时还要记得备份,避免在紧急情况下找不到解...