github正确使用姿势
注册、登录
搜索、查看(github.com/trending可查看项目趋势列表,发现优秀的开源项目)
- star:越多越受欢迎
- README:在code栏中,是对于该项目的介绍
- issues:问题,任务,团队协作
建仓库
如何学习大神的代码?fork(复刻)
怎么判断github上的优质内容?
- watch 关注
- star 点赞
- 表示支持
- 用作收藏,在your stars中可以查看
- fork
- 由于学习,可任意删改
- 帮作者完善bug
- 如何在github中寻找优质有趣的内容?
- GitHub Explore 探索
- GitHub Topic 热门话题
- GitHub Trending 流行热榜
注:spoken language 可选择自然语言;language可以选择计算机语言
- 资源大全系列-GitHub Awesome
- 自定义搜索
- 不是程序员,github有哪些神奇用法
Do whatever you want, whatever works best for you, what makes you the most comfortable and seems like the best idea. Do what you love.
做任何你想做的事,做你所热爱的事情。
github实践中遇见的问题及解决
- gitnote克隆问题:一定要是“master”branch.
- 交换文件时速度可能较慢,请耐心等候!
更改文件时,必须打开Gitnote,以便版本跟踪
更新不及时也有可能是网络的问题?网速慢则上传需要时间?
[使用Git进行版本控制][1]
[1]:《python编程从入门到实践》. 附录D
分布式版本控制
创建项目
建立一个文件夹,作为项目文件夹。
忽略文件
.gitignore 文件中的目录将不被git跟踪。(例:__pycache__ 中的.pyc文件。)
初始化仓库
git init
.git 文件夹。内存有所有的历史记录。
检查状态
git status
在git中,分支是项目的一个版本。提交是项目在特定时间点的快照。
将文件加入到仓库中
git add .
并未提交文件,只是让Git关注文件。
执行提交
git commit -am “message”
-a 让Git将仓库中所有修改了的文件都加入到当前提交中。
-m 让Git在提交历史中记录一条消息。
查看提交历史
git log
更简单的版本:git log —pretty=oneline
撤销修改
git checkout .
检出以前的提交
git checkout (提交的引用ID的前6个字符)
git reset —hard (提交的引用ID的前6个字符) ;永久回到以前的提交。
删除仓库
rm -rf .git
删除.git文件夹等于删除整个仓库,之后只能重新初始化。
git clone
远程操作的第一步,通常是从远程主机克隆一个版本库,这时就要用到
git clone
命令。1
$ git clone <版本库的网址>
如果要指定不同的目录名,可以将目录名作为
git clone
命令的第二个参数。1
$ git clone <版本库的网址> <本地目录名>
git remote
Git要求每个远程主机都必须指定一个主机名。
git remote
命令就用于管理主机名。不带选项的时候,
git remote
命令列出所有远程主机。使用
-v
选项,可以参看远程主机的网址。克隆版本库的时候,所使用的远程主机自动被Git命名为
origin
。如果想用其他的主机名,需要用git clone
命令的-o
选项指定。git remote show
命令加上主机名,可以查看该主机的详细信息。git remote add
命令用于添加远程主机。git remote rm
命令用于删除远程主机。git remote rename
命令用于远程主机的改名。git fetch
一旦远程主机的版本库有了更新(Git术语叫做commit),需要将这些更新取回本地,这时就要用到
git fetch
命令。git pull
git push
GitHub: 本地仓库如何同步到github.com?
commit to master
push origin
github.com上仓库改名之后还能同步吗?
依然可以
即本地仓库同步到GitHub.com;在github.com建立一个仓库(默认同名,当然可以重命名)
两端建立联系之后,关系就固定了,一旦删除任何一端,都不能再同步,网站端可改名,不影响,桌面仍待研究;
目前的通式为:
- 桌面端建立新仓库
- publish your repository to github(此时可重命名;不过不推荐)
- 本地仓库内的改变可通过“commit to master”—>push origin同步到网站。
网站端的内容能同步到本地端吗?
事实证明可以。
可能是“fetch origin”,或者”pull origin”