目录
一,git下载及安装
二,配置git:用户名和邮箱
三,搭建git服务器(远程仓库):统一的托管网站(https://github.com/)
四,在本地新建git项目。git init
五,在远程建立git项目:https://github.com/new
六,本地项目-远程项目关联
七,第一次发布项目 (本地-远程)
八,第一次下载项目(远程-本地):git clone git@XXX
九,提交项目(本地-远程),三步走
十,更新项目(远程-本地),命令:git pull
git:分布式版本控制软件
常用命令:
git add:将本地文件增加到暂存区
git commit:将暂存区的内容 提交到 本地仓库(本地分支,默认master分支)
git push:将本地仓库内容 推送到 远程仓库(远程分支)
git pull:将远程仓库(远程分支)内容 拉取到 本地仓库(本地分支)
git branch :查看所有分支
git checkout xxx:切换分支到xxx
git checkout xxx -f:强制切换分支到xxx
git branch xxx:创建分支
git checkout -b xxx:创建并切换到xxx分支
git branch -d xxx:删除xxx分支
git branch -D xxx:强制删除xxx分支
(注意:如果觉得写命令有点难,可以使用不写命令的桌面版GitHub(初学时强烈推荐),参考:https://blog.csdn.net/zhangrunnanshuai/article/details/77841141)
git官网下载:https://git-scm.com/downloads ,如果觉得官网下载速度慢,可以去这里下载,速度很快
安装很简单,除了下面这里手动选择“use git from xxx”以外,其他的都默认,一路next即可
配置path:在环境变量中配置
在桌面右键-【Git Bash Here】
输入命令:
git config --global user.name "lijiang"
git config --global user.email "[email protected]"
查看用户名和邮箱是否配置成功,去这个路径:C:\Users\Lijiang,找到.gitconfig文件并打开,如果有下面这些内容就说明成功了
为了在本地和远程仓库之间进行 免密钥登录,可以配置ssh。
配置ssh:先在本地配置,再发送给远程
先查看是否有.ssh文件,输入命令:cd ~/.ssh
出现no such file or directory表示没有.ssh文件,如下:
如果没有.ssh文件,我们就需要生成本地ssh文件了,只需输入命令:ssh-keygen -t rsa -C "[email protected]" 特别注意大小写和空格,用大写的C !!!三次回车后,就生成了本地ssh了
发送给远程:
打开:https://github.com/settings/keys
测试连通性,看本地仓库和远程仓库是否连接成功,输入命令:ssh -T [email protected]
在需要发送的项目的文件夹的根目录下右键【git bash here】
(注意:如果上图的‘.git’文件夹没有出现,可能是因为.git后缀的文件夹默认被隐藏了,所以,没有出现‘.git’文件夹也不必太过担心)
下面的字符串就是远程项目的唯一标识符,有两种方式,HTTPS和ssh
输入命令:git remote add origin [email protected]:LiJiangJiangJiang/myGitProjectRemote.git 注意:橘黄色的是远程项目的唯一标识符
git add . //文件-暂存区,add后面是“空格 点”就表示当前目录的所有文件(注意:add和点中间有一个空格!!!大坑)
git commit -m “注释内容” //暂存区-本地分支(默认master)
git push -u origin master
然后现在GitHub官网上就关联了本地项目:
然后找一个存放该项目的文件夹,并在此文件夹里面右键【git bash here】,输入命令:git clone XXX (注意:“XXX”是刚刚复制的唯一标识符)
然后可以看到该项目就下载到刚刚新建的本地文件夹“myGitProjectRemote”了。此时会发现版本的管理目录“.git”也过来了
在当前工作目录,右键【git bash here】
git add .
git commit -m "提交内容"
git push origin master (注意:这是非第一次提交,所以没有“-u”)
(注意:如果git pull命令报错了,可以试一下这个命令:git pull origin master)