Git 笔记
Some basic concepts
repository 仓库,存储code的单元。branch 分支,同一个代码库的不同版本控制路径,默认的主线是master,可以分叉出来开发测试新功能,完成后merge到master上。
commit 提交修改。
push推送到远程,默认推到original的repository。
pull 从远程repository取回代码。
一般远程的repository默认是origin, 另一个常用的名字是upstream,这个用于从一个已有的repository fork了一个副本后,自己的副本作为origin,原始的版本作为upstream。参加open source project常用到upstream。
文件状态
untracked 即没有加入到git的indexunmodified 没有个修改过的文件
modified 修改但尚未提交
staged 已经提交,上了舞台了。。
常用命令
git status检查所有文件的状态删除和ignore不同:
git diff 检查文件修改前后差异
git branch 创建新分支
git checkout 切换分支
ignore只是忽略跟踪,但文件保留,删除是彻底删除,先删除文件再用git -rm xx.xx 实现彻底git上的删除。
深入
关于配置:/etc/gitconfig 针对系统 git config –system
~/gitconfig 针对当前用户 git config –global
.git/config 针对当前 repository
git config –list列出当前所有配置。
提交代码最常用的配置是信息是用户名和邮箱。当你需要提交并push的时候会要求输user pwd验证身份。另一种选择是可以直接在本地产生一对公钥私钥 (ssh-keygen -t rsa -C “your_email_address”)。
所谓分布式版本控制。事实上是说没有一个主线处于支配地位。我的理解,在远程服务器比如github上也是一个类似本地的一个repository。所以你的机器如果在线,也能直接被clone。
.git文件下存储所有配置。(比如忽略某些文件,index等)
References:
GitHub详细教程collaborate using git
git user guide
简单明了的一个教程:廖雪峰的git教程
Written with StackEdit.
No comments:
Post a Comment