通过git将coding上的代码拉下来
主要参考的是coding的文档 Git 操作常见问题
这篇文章条例也很清晰 Linux 终端如何使用 Git 命令
这本书git写的也不错,git-book;有条理完整;以后用git的操作就直接看这本书吧
首先还是更新下git吧,免得以后由于版本的问题出一些莫名其妙的问题
https://github.com/git/git/tree/v2.13.1 找个稳定版本,找个最新Tag就行了
https://www.kernel.org/pub/software/scm/git/ 从这下载
环境: CentOS 7.x
su - root #使用root
yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker #安装依赖
wget https://www.kernel.org/pub/software/scm/git/git-2.13.1.tar.gz #下载
tar xzf git-2.13.1.tar.gz
cd git-2.13.1
./configure
make
make install
报错 Unable to find remote helper for 'https'
解决办法:将 /usr/libexec/git-core 纳入 PATH,至少在使用 git 之前,设置一下PATH。PATH=$PATH:/usr/libexec/git-core;可是这是临时的,新开个shell窗口就不能用了,还是要修改下/etc/profile文件
vim /etc/profile
在文档最后,添加:
export PATH="/usr/libexec/git-core:$PATH"
保存,退出,然后运行:
source /etc/profile
不报错则成功。
vim编辑文档时,看下方是否有insert,没有则按 a ;要退出先按esc键入冒号和x( :x )表示保存并退出vim
参考
git 错误: Unable to find remote helper for 'https'量
git pull时候提示git remote add <name> <url>
故git remote add origin https://git.coding.net/yellowpoint/loan.git
设置ssh密钥
ssh-keygen -t rsa -C"870003719@qq.com"
cat ~/.ssh/id_rsa.pub
再复制到coding中
检查是否成功
ssh -T git@git.coding.net
成功将会返回成功的一段话
参考
Clone 出错怎么办?
解决fatal: No remote repository specified. Please, specify either a URL...
Git保存用户名和密码
带账号密码的格式 git clone https://用户名:密码@网址
怎样在每次 Push 时不用重复输入密码?
有两种方法:
使用 SSH 方式进行推送,您需要配置 SSH 公钥后进行操作,详情请阅读 SSH 公钥配置文档
对于 Https 协议: 首先在全局配置保存你的密码,
~/.git-credentials (没有就创建)内添
加https://{username}:{passwd}@git.coding.net
然后执行配置 Git 命令存储认证命令:
$git config --global credential.helper store
执行后在 ~/.gitconfig 文件会多出下面配置项:
credential.helper = store
摘自coding文档https://coding.net/help/faq/git/git.html#_Push
参考
git 缓存密码导致的不能和远程仓库交互unable to access... 403错误
Coding 提示: Permission denied! 没有权限操作此仓库
没权限的上一句一直提示Initialized empty Git repository in。。。
我以为是要我该目录初始化git,用github上其他文件试了下,clone成功也有那句话,
说明那句话是一个提示,系统自动初始化;所以核心还是在没有权限上
git clone git@git.coding.net:yellowpoint/loan.git 用这句话 clone成功
新的问题是 git pull 还是提示没权限
woccc 灵机一动 是不是要cd到loan目录里面才能git pull 特么的果然是
我怀疑今天一开始 就直接进loan里面就可以
由于没有cd到loan文件这一层,导致一直git pull不成功,折腾了半天,切记要先进到项目里面呀
那现在有两种方法 clone代码下来
一是链接上拼 账号密码
创建新文件
git init
git clone https://账号:密码@git.coding.net/yellowpoint/loan.git
cd loan
git pull 是有效的
二是用git ssh链接
git clone git@git.coding.net:yellowpoint/loan.git
前提都是ssh公钥配好
创建ssh公钥 ssh-keygen -t rsa -C "8700037192qq.com"
打开这个文件 cat ~/.ssh/id_rsa.pub
将代码复制到coding该项目的部署公钥
检验 ssh -T git@git.coding.net
但还是没有通过直接 clone https:。。。。的方式成功,
git remote -v 也加了
账号密码也设置到git-credentials了
为啥呢
删除文件后,再用git
pull不能把文件更新回来,这个和svn的逻辑不同
git 放弃本地修改 强制更新
git fetch --all
git reset --hard origin/master
git fetch 只是下载远程的库的内容,不做任何的合并 git reset 把HEAD指向刚刚下载的最新的版本
上面操作可以把删了的文件怼回来