以下两步缺一不可 步骤一 从GitHub下载文件一直非常慢,查看下载链接发现最终被指向了Amazon的服务器,下载地址是http://github-cloud.s3.amazonaws.com/,从国内访问Amazon非常慢,所以总是下载失败,解决方法时更改host文件,使该域名指向香港的服务器: 更改hosts文件: Windows 更改C:\Windows\System32\drivers\etc\hosts文件,在文件中追加219.76.4.4 github-cloud.s3.amazonaws.com, 将域名指向该IP即可 Mac 执行 sudo vi /etc/hosts 追加 219.76.4.4 github-cloud.s3.amazonaws.com 最后执行ipconfig /flushdns命令,刷新 DNS 缓存。 步骤二 https://www.ipaddress.com/ 使用 IP Lookup 工具获得下面这两个github域名的ip地址,该网站可能需要梯子,输入上述域名后,分别获得github.com和github.global.ssl.fastly.net对应的ip,比如 192.30.xx.xx 和 151.101.xx.xx 。准备工作做完之后,打开的hosts文件中添加如下格式,IP修改为自己查询到的IP: 192.30.xx.xx github.com 151.101.xx.xx github.global.ssl.fastly.net 最后执行ipconfig /flushdns命令,刷新 DNS 缓存。修改后的下载速度能达到 2MB/S 以上。 参考自:https://blog.csdn.net/qing666888/article/details/79123742

Continue reading

原文:https://blog.csdn.net/shuilengqingqiu/article/details/77945658 git提交代码时出现错误:error : unpack failed : error Missing commit XXX,XXX代表提交的版本号。 原因:本地索引出错。 解决方法: git gc git pull –rebase(执行之前要先把本地的修改stash 或者commit。过程中遇到冲突需要先解决冲突,再git add .) git push

Continue reading

概述 Reset Type有三种类型:Soft、Mixed、Hard。 理解Reset Type之前,先解释下以下术语: HEAD 这是当前分支版本顶端的别名,也就是在当前分支你最近的一个提交 Index Index也被称为staging area,是指一整套即将被下一个提交的文件集合。他也是将成为HEAD的父亲的那个commit Working Directory 代表你正在工作的那个文件集,又称作Working Tree。 三个Reset级别的意思分别是: Soft # 还原 HEAD Mixed # 还原 HEAD、Index # 默认参数 Hard # 还原 HEAD、Index、Working Directory 应用 如果本地有commit,但是没有push,此时想把这个commit 回退掉,则:右键需要回退的SHA-1 -》 Reset “master” to this。 然后和弹出菜单: 选择合适的Reset Type,点击OK。 注意事项: 根据需要选择Reset Type: 若本地无修改,那么就选择 Soft; 若本地有修改未commit,那么就选择 Mixed; 若本地有修改且已commit,那么就选择 Hard; 参考自:git reset soft,hard,mixed之区别深解 https://www.cnblogs.com/kidsitcn/p/4513297.html 生命的价值不在于时间的长短,而在于你如何利用它。

Continue reading

区别: HEAD: The current ref that you’re looking at. In most cases it’s probably refs/heads/master FETCH_HEAD: The SHAs of branch/remote heads that were updated during the last git fetch ORIG_HEAD: When doing a merge, this is the SHA of the branch you’re merging into. MERGE_HEAD: When doing a merge, this is the SHA of the branch you’re merging from. CHERRY_PICK_HEAD: When doing a cherry-pick, this is the SHA of the commit which you are cherry-picking.

Continue reading

相关参考: https://www.jianshu.com/p/e78b28081a44 https://stackoverflow.com/questions/9237348/what-does-fetch-head-in-git-mean https://ruby-china.org/topics/4768 git clone git clone支持多种协议,除了HTTP(s)以外,还支持SSH、Git、本地文件协议等,通常来说,Git协议下载速度最快,SSH协议用于需要用户认证的场合。在clone完成之后,Git 会自动为你将此远程仓库命名为origin(origin只相当于一个别名,运行git remote –v或者查看.git/config可以看到origin的含义),并下载其中所有的数据,建立一个指向它的master 分支的指针,我们用(远程仓库名)/(分支名) 这样的形式表示远程分支,所以origin/master指向的是一个remote branch(从那个branch我们clone数据到本地),但你无法在本地更改其数据。同时,Git 会建立一个属于你自己的本地master 分支,它指向的是你刚刚从remote server传到你本地的副本。随着你不断的改动文件,git add, git commit,master的指向会自动移动,你也可以通过merge(fast forward)来移动master的指向。 git clone + 远程仓库项目网址 克隆远程仓库项目到本地仓库,也就是俗称的拉代码,本地仓库生成的项目与远程仓库的项目结构一致。git clone + 远程仓库项目网址 + 本地仓库项目目录:克隆远程仓库项目到本地仓库,本地仓库生成的项目放在第二个参数【本地仓库项目目录】中 git fetch 真正理解 git fetch, git pull,要讲清楚git fetch,git pull,必须要附加讲清楚git remote,git merge 、远程repo, branch 、 commit-id 以及 FETCH_HEAD。 git remote 首先, git是一个分布式的结构,这意味着本地和远程是一个相对的名称。 本地的repo仓库要与远程的repo配合完成版本对应必须要有 git remote子命令,通过git remote add来添加当前本地长度的远程repo, 有了这个动作本地的repo就知道了当遇到git push 的时候应该往哪里提交代码。 git branch 其次,git天生就是为了多版本分支管理而创造的,因此分支一说,不得不提, 分支就相当于是为了单独记录软件的某一个发布版本而存在的,既然git是分布式的,便有了本地分支和远程分支一说,git branch 可以查看本地分支, git branch -r 可以用来查看远程分支。 本地分支和远程分支在git push 的时候可以随意指定,交错对应,只要不出现版本从图即可。

Continue reading

检出 (简写:svn co) svn checkout url --username=*** --password=*** path //第一次check out svn checkout url //不是第一次check out 添加 svn add file //添加指定文件 svn add *.cpp //添加当前目录下的所有的cpp文件 svn add * --no-ignore 文件夹 //添加指定文件夹下的所有文件(包括忽略的文件类型.a、.pdb等) 提交(简写:svn ci) svn commit -m "LogMessage" 更新(简写:svn up) svn update . //更新当前目录 svn update test.cpp //更新指定文件 svn update -r 200 test.cpp //更新指定文件到指定版本 回退 svn revert . --depth=infinity //整个目录回退 回退到旧版本并提交 svn update //回退前要保证版本更新到最新,假设最新版本为150,准备回退到140 svn merge -r 150:140 .

Continue reading

在安装完以后的配置选项中,SSH选择OpenSSH: 如果选择PuTTY,则每次更新或提交时,都需要输入密码。 除了在安装配置页面设置,也可以在安装完毕以后,右键 -》 TortoiseGit -》 Settings -》Network -》 SSH -》 修改为:"ssh.exe" 或者 "Git安装目录\usr\bin\ssh.exe" 生成公钥 命令(ssh-keygen.exe 位于 Gi安装目录\usr\bin 目录下) ssh-keygen -t rsa -C "mysshkey" 执行后敲三次回车,即可生成SSH公钥和私钥。 我感到难过,不是因为你欺骗了我,而是因为我再也不能相信你了。----尼采《天才的激情与感悟》

Continue reading

1,先在本地生成ssh的公钥,方法如下: https://gist.github.com/yisibl/8019693 2,在github自己的账号后台中添加上面生成的key,将id_rsa.pub中的所有内容全部copy过来即可。 添加key的页面:https://github.com/settings/keys 3,将https替换为ssh: git remote set-url origin git@github.com:USERNAME/REPOSITORY.git 4,将当前客户端的ssh链接添加到github信任列表 ssh -T git@github.com 如果不执行这个步骤,会push时会出现错误提示: ssh: connect to host github.com port 22: Connection timed out fatal: Could not read from remote repository 另外,执行此步骤时必须关掉爬墙工具(你懂的),否则会提示链接超时。

Continue reading

Author's picture

Neil Wang

久长唯有品格

To Be Marvelous

Yichang·Hubei