/netplus

Primary LanguageJavaScript

--20151025
建立git版本库
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743256916071d599b3aed534aaab22a0db6c4e07fd0000

git add files 添加准备提交的文件{放到暂存区}
git commit -m "commit message" 提交
git status 同步
git diff 对比文件
git log 查看版本
git log --pretty=online
git reset 回退版本
git reflog 可以记录每次执行命令的版本号
git checkout -- files 相当于SVN 的 reverts
git rm 在版本库中删除文件	

--
gitHub生成密钥对
ssh-keygen -t rsa -C "gdut_cb@163.com"
git remote 查看远程版本库名称
git remote -v 详细信息
git remote add 代号 地址

git remote add origin git@github.com:yogaling/netplus.git
git remote add origin https://github.com/yogaling/netplus.git
git clone git@github.com:yogaling/test.git
相当于SVN的checkout
git push -u origin master
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令


master是主分支
git push -u origin dev
推送到dev的分支上
但是,并不是一定要把本地分支往远程推送,那么,哪些分支需要推送,哪些不需要呢?
master分支是主分支,因此要时刻与远程同步;
dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;
feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。


--分支管理
git branch dev
	创建分支
git branch -d feature1
	删除分支,没有合并不能删除
git branch -D feature-vulcan
	强行删除分支
git merge
	合并版本	
--打标签
Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。
git tag
	查看所有标签
git tag v1.0
	打标签
git tag v0.9 6224937
	默认打最新的commitid,如果需要在历史的commitid上打标签,可以查看日志,再打标签
	git log --pretty=oneline --abbrev-commit
git tag -a v0.1 -m "version 0.1 released" 3628164
	可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:
git tag -s v0.2 -m "signed version 0.2 released" fec145a
	还可以通过-s用私钥签名一个标签:可以用PGP签名标签
git tag -d v0.1
	删除标签
git show v0.9
	查看标签信息
git push origin v1.0
	推送某个标签到远程
git push origin --tags
	推送所有标签到远程
git tag -d v0.9
git push origin :refs/tags/v0.9
	先从本地删除,再删除远程的标签


--配置git
git config --global color.ui true
	配置颜色
git config --global alias.st status
	配置命令别名
cat .git/config 
	查看配置文件位置
--忽略文件
不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore

忽略文件的原则是:

忽略操作系统自动生成的文件,比如缩略图等;
忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。

使用Windows的童鞋注意了,如果你在资源管理器里新建一个.gitignore文件,它会非常弱智地提示你必须输入文件名,但是在文本编辑器里“保存”或者“另存为”就可以把文件保存为.gitignore了。




--
生成sshkey
ssh-keygen -t rsa -C "youname@example.com"
需要填入一个路径/d/codes/dtd/id_rsa

然后在github里面的设置里面,添加公玥
https://github.com/settings/ssh