前言
如今程序越来越开源,对于github的使用与学习提上了日程,去年学习了比较旧一点的SVN,毕竟Git和它如出一辙嘛。OK,第三篇走起。
Git的下载与安装
官网:https://git-scm.com/download/win
具体的安装过程一路next就好,需注意这里选择如图:
Github仓库
注册登录成功后,点击头像旁边‘+’新建一个项目,
1.初始化git
一般我们是要将自己的本地项目上传到github,实现开源共享,那么就首先需要让git知道它需要跟踪这个项目,所以,我们首先在终端进入项目(右击后点击Git Bash Here),初始化git(假设项目在桌面):
//初始化git
$ git init
2.创建ssh key
为了让github能够识别是我们自己上传文件,需要创建ssh key
$ ssh-keygen -t rsa -C "your_email@youremail.com"
这里的your_email@youremail.com是你的邮箱地址,在输入后会询问你是否保存创建的ssh key,点回车就好,然后要求输入你要设置的密码,如果直接回车表示不设密码。然后会提示你ssh key已经创建好。
3.将ssh可以写入github
创建好本地的ssh key后,我们需要让github知道这个ssh key是我们自己,所以需要将生成的ssh key复制出来,写入github。生成的Key在如下目录:
打开所示文件,复制出来,在github在点击头像,然后点击setting,在找到SSH and GPG keys,创建一个new ssh key,然后将刚刚复制的ssh key填入即可。
4.验证是否连接成功
在终端输入
$ ssh -T git@github.com
如果回车看到:You’ve successfully authenticated, but GitHub does not provide shell access 。表示已成功连上github。
5.将要上传的文件Copy到目前终端所示目录,将项目添加到暂存区,输入命令:
git add .
6.提交到本地的版本控制库里
git commit -m "upload a lot files"
将目标目录中的项目提交到github仓库中,其中,会要求输入github的用户名与密码,输入并登陆即可,稍等片刻后如截图所示,已经提交成功,命令如下
git push -u origin master
一切OK,在github网页版查看上传成功。
Git常用命令:
git init //初始化本地git环境
git clone XXX//克隆一份代码到本地仓库
git pull //把远程库的代码更新到工作台
git pull --rebase origin master //强制把远程库的代码跟新到当前分支上面
git fetch //把远程库的代码更新到本地库
git add . //把本地的修改加到stage中
git commit -m 'comments here' //把stage中的修改提交到本地库
git push //把本地库的修改提交到远程库中
git branch -r/-a //查看远程分支/全部分支
git checkout master/branch //切换到某个分支
git checkout -b test //新建test分支
git checkout -d test //删除test分支
git merge master //假设当前在test分支上面,把master分支上的修改同步到test分支上
git merge tool //调用merge工具
git stash //把未完成的修改缓存到栈容器中
git stash list //查看所有的缓存
git stash pop //恢复本地分支到缓存状态
git blame someFile //查看某个文件的每一行的修改记录()谁在什么时候修改的)
git status //查看当前分支有哪些修改
git log //查看当前分支上面的日志信息
git diff //查看当前没有add的内容
git diff --cache //查看已经add但是没有commit的内容
git diff HEAD //上面两个内容的合并
git reset --hard HEAD //撤销本地修改
echo $HOME //查看git config的HOME路径
export $HOME=/c/gitconfig //配置git config的HOME路径
团队协作git操作流程:
克隆一个全新的项目,完成新功能并且提交:
git clone XXX //克隆代码库
git checkout -b test //新建分支
modify some files //完成修改
git add . //把修改加入stage中
git commit -m '' //提交修改到test分支
review代码
git checkout master //切换到master分支
git pull //更新代码
git checkout test //切换到test分支
git merge master //把master分支的代码merge到test分支
git push origin 分支名//把test分支的代码push到远程库
目前正在test分支上面开发某个功能,但是没有完成。突然一个紧急的bug需要处理
git add .
git stash
git checkout bugFixBranch
git pull --rebase origin master
fix the bug
git add .
git commit -m ''
git push
git checkout test
git stash pop
continue new feature's development
结尾总结
俗话说:“学无止境”,目前还是学生的我,喜欢每天都在学习一项技巧的自己。