环境注明:ubuntu
1、安装
首先是安装,命令:
apt-get install git-core openssh-server openssh-client
git-core是git的安装包,其他的是git所依赖的安装包
2、配置ssh key
因为git是使用ssh的方式访问资源库的,所以需要在本地创建验证用的文件。
(1)
先使用自己的github邮箱生成一个ssh key,使用命令:
ssh-keygen -C 'test@163.com(你的github邮箱地址)' -t rsa
按三下enter键,会在用户目录~/.ssh/文件夹下生成公私钥文件,分别是
id_rsa和id_rsa.pub,将公钥文件id_rsa.pub中的内容复制下来
(2)
然后在github用户设置(setting)中找到ssh key,然后添加,title随便设置,key的内容,
将上一步从id_rsa.pub中复制下来的内容粘贴上去,保存.
(3)
使用命令:
ssh -v git@github.com
测试链接是否成功
看到you've successfully这样的,可以知道可以链接成功了。接下来就可以在本地操作github的代码了。
3、github初始化及上传代码
(1)本地创建git仓库
进入要上传文件的目录,然后输入以下命令:
git init
(2)创建一个本地仓库origin
git remote add origin git@github.com:yourName/yourRepo.git
yourName是你的github用户名,yourRepo.git是你的github上的仓库名
(3)添加文件
git add .(自动判断添加哪些文件)
git add 文件名(添加本地仓库中某个文件)
(4)提交并评论
评论了之后才允许上传代码到github
git commit -m "评论内容/版本描述"
(5)提交代码
第一次需要使用如下代码
git push origin master
后面再次提交可直接git push
4、从github克隆项目到本地
(1)到github上的某个仓库,复制右边的“HTTPS clone url”
(2)复制
使用cd 命令切换到本地存放该仓库代码的目录
git clone https://github.com/chenguolin/scrapy.git
(3)如果本地的版本不是最新状态,使用如下命令
git fetch origin
origin是本地仓库
(4)把更新内容合并到分支
使用如下命令:
git merge origin/master
5、常用命令
在本地仓库中操作文件,必须使用git特有的命令
初始化操作
$ git config -global user.name <name> #设置提交者名字
$ git config -global user.email <email> #设置提交者邮箱
$ git config -global core.editor <editor> #设置默认文本编辑器
$ git config -global merge.tool <tool> #设置解决合并冲突时差异分析工具
$ git config -list #检查已有的配置信息
创建新版本库
$ git clone <url> #克隆远程版本库
$ git init #初始化本地版本库
修改和提交
$ git add . #添加所有改动过的文件
$ git add <file> #添加指定的文件
$ git mv <old> <new> #文件重命名
$ git rm <file> #删除文件
$ git rm -cached <file> #停止跟踪文件但不删除
$ git commit -m <file> #提交指定文件
$ git commit -m “commit message” #提交所有更新过的文件
$ git commit -amend #修改最后一次提交
$ git commit -C HEAD -a -amend #增补提交(不会产生新的提交历史纪录)
查看提交历史
$ git log #查看提交历史
$ git log -p <file> #查看指定文件的提交历史
$ git blame <file> #以列表方式查看指定文件的提交历史
$ gitk #查看当前分支历史纪录
$ gitk <branch> #查看某分支历史纪录
$ gitk --all #查看所有分支历史纪录
$ git branch -v #每个分支最后的提交
$ git status #查看当前状态
$ git diff #查看变更内容
撤消操作
$ git reset -hard HEAD #撤消工作目录中所有未提交文件的修改内容
$ git checkout HEAD <file1> <file2> #撤消指定的未提交文件的修改内容
$ git checkout HEAD. #撤消所有文件
$ git revert <commit> #撤消指定的提交
分支与标签
$ git branch #显示所有本地分支
$ git checkout <branch/tagname> #切换到指定分支或标签
$ git branch <new-branch> #创建新分支
$ git branch -d <branch> #删除本地分支
$ git tag #列出所有本地标签
$ git tag <tagname> #基于最新提交创建标签
$ git tag -d <tagname> #删除标签
合并与衍合
$ git merge <branch> #合并指定分支到当前分支
$ git rebase <branch> #衍合指定分支到当前分支
远程操作
$ git remote -v #查看远程版本库信息
$ git remote show <remote> #查看指定远程版本库信息
$ git remote add <remote> <url> #添加远程版本库
$ git fetch <remote> #从远程库获取代码
$ git pull <remote> <branch> #下载代码及快速合并
$ git push <remote> <branch> #上传代码及快速合并
$ git push <remote> : <branch>/<tagname> #删除远程分支或标签
$ git push -tags #上传所有标签</span>