GIT笔记
GIT分布式版本管理工具
基本使用流程
1.在Github官网创建账户
2.创建远程仓库
3.本地安装客户端
4.登录客户端并克隆远程仓库
5.在本地仓库中存储数据
6.提交数据并备注信息
7.推送本地数据到远程仓库
git下载地址:http://git-scm.com/download/win
github客户端地址:http://desktop.github.com
安装成功后,配置path环境变量(安装路径bin目录),使用命令查看是否安装成功:git --version
基本命令操作
git init //初始化本地仓库
git add . //添加当前目录文件缓冲
git mv xxx1 xxx2 //修改文件名称
git rm xxx //删除文件
git rm --cached . //撤销缓存区第一次提交文件或删除版本库文件
git reset HEAD . //撤销缓存区第一次之后的提交
git checkout --xxx //撤销本地文件的修改
git status //查看状态
git commit -m '备注' //提交
git commit --amend //修改最新一次提交,修改备注
git push //推送到仓库
git pull //从远程仓库拉取数据
git clone //从远程仓库拷贝数据(项目)
git log --pretty=oneline //查看日志
git reflog //查看变动日志
git reset --hard xxx(版本唯一标识号) //切换历史版本
git branch //查看分支
初次使用配置
git init(生成.git仓库)
仓库配置(.git/config文件)
git config user.name 'chenyongsai'
git config user.email 'chenyongsai@163.com'
全局配置(用户目录生成.gitconfig文件)
git config --global user.name 'chenyongsai'
git config --global user.email 'chenyongsai@163.com'
忽略添加文件配置
创建文件:.gitignore
在文件里配置忽略文件的路径
文件:*.txt !a.txt 目录:/xxx1/*
查看状态:不能显示文件夹里面的文件
分支
查看分支:git branch 或 git branch -a //-a参数:查看本地以及包括远程仓库分支
默认主线:git checkout master
创建分支:git branch xxx(分支名称)
进入分支:git checkout xxx(分支名称)
删除分支:git branch -d xxx(分支名称) //分支如果未合并,需要强制删除:git branch -D xxx
快捷切换:git checkout -b xxx(分支名称) //创建分支并同时切换到新分支
合并分支
切到换主线下:git checkout master
合并哪个分支:git merge xxx(分支名称)
查看成功合并:git branch --merged 或 git branch --no-merged
优化分支合并:git rebase master //合并分支之前操作,相当于先更新主线最新代码
远程仓库连接
查看远程连接配置:git remote -v
添加远程仓库配置:git remote add xxx(连接仓库配置名称) https://github.com/xxxx/xxxxx.git(远程仓库地址)
本地仓库推送远程:
git push -u xxx(连接仓库配置名称) xxx(master主线)
或 git push https://github.com/xxxx/xxxxx.git(远程仓库地址) xxx(master主线)
本地拉取远程仓库:
git pull -u xxx(连接仓库配置名称) xxx(master主线)
或 git pull https://github.com/xxxx/xxxxx.git(远程仓库地址) xxx(master主线)
远程分支连接配置:git push --set-upstream origin(连接仓库配置名称) xxx(远程分支名称) //非master主线
删除本地远程配置:git remote remove xxx(连接仓库名称)
删除远程仓库分支:git push origin --delete xxx(远程分支名称)
PS:第一次远程连接仓库推送需要使用 -u 参数
PS:已建立连接远程仓库后,拉取更新数据只需要 git pull
克隆远程仓库:
git clone https://github.com/xxxx/xxxxx.git(远程仓库地址)
git clone git@github.com:chenyongsai/xxx.git(远程仓库地址)
国内远程仓库:http://git.oschina.net
团队合作:
github托管管理添加成员,发送邀请连接,开发成员登录git托管网站,接收邀请,即可clone项目团队协作开发
远程仓库项目管理添加成员权限名单(校验github账户) PS:可以配置SSH密钥,不需要输入账户
密钥生成:
ssh-keygen
测试是否可以通信成功:ssh -T git@github.com
公钥:id_rsa.pub
缓存:known_hosts //如果默认连接不上,有可能因为缓存损坏,清空缓存重新连接
PS:注意公钥复制过程中出现的空格字符问题
命令快捷别名:
全局配置:git config --global alias.a add //git a . 等同于 git add .
系统配置:.bash_profile //仓库目录设置别名映射关系
如:alias gs="git status"
alias gc="git commit -m "
alias gl="git log "
alias gb="git branch"
alias ga="git add ."
alias go="gi checkout"
分支临时缓存区:
git stash //但某一功能开发进行中,一部分代码已进入缓存区,需要切换分支时,需要建立临时缓存区
git status list //分支临时缓存区列表
git stash apply //恢复缓存区
git stash drop xxxx(分支临时缓存区标识=stash@{0}{1}...。0:最近存储)
标签:
git tag //查看标签列表
git tag xxx(标签名:v1.0) //添加标签
生成压缩包:
git archive master --prefix='目录/' --forma=zip > xxx.zip(压缩名称)