关于Git和GitHub的那些事
Git和GitHub
- 注册和下载Git就忽略了
- 重点是使用
使用方法:
将远程仓库复制到本地以及修改后推送
- 克隆项目(任意位置但是得先有仓库地址)
$git clone 地址 (会将该仓库复制到当前位置)
修改 ing…完成!
- 追踪文件 (将文件放入暂存区)
$git add 文件名/. (为. 时表示所有文件,如果是单个文件去对应的目录下执行)
- 提交文件
$git commit -m"提交说明"
- 拉取仓库
$git pull 仓库地址 分支名
- 向远程推送仓库
$git push 仓库地址 分支名
推送至新仓库
- 初始化库(在项目文件夹中写入)
$git init (会多出一个.git隐藏的文件夹)
- 追踪文件 (将文件放入暂存区)
$git add . (为. 时表示所有文件,如果是单个文件去对应的目录下执行)
- 提交文件
$git commit -m"提交说明"
- 向远程推送仓库(先创建一个空仓库,获取仓库地址)
$git push 仓库地址 分支名
基本语句
初始化库(在项目文件夹中写入)
$git init (会多出一个.git隐藏的文件夹)
克隆项目(任意位置但是得先有仓库地址)
$git clone 地址 (会将该仓库复制到当前位置)
查看文件状态
$git status
追踪文件 (将文件放入暂存区)
$git add 文件名/. (为. 时表示所有文件,如果是单个文件去对应的目录下执行)
提交文件
$git commit -m"提交说明"
查看提交信息
$git log
关于推送
向远程推送仓库
$git push 仓库地址 分支名
给地址起名(为了方便使用)
$git remote add 别名 仓库地址
$git push 仓库别名 分支名
不用写地址推送
$git push -u 仓库地址 分支名 (第一次提交时,自动记录仓库地址以及分支)
$git push(后面提交时)
拉取仓库
(应用场景:当修改了在 本地 中的功能后想同步到远程仓库里,就先pull,再push;若是远程仓库中没有该文件,就直接push- -这是单人开发;若是多人开发,push前需要创建仓库的人将你加入Collaborators中)
$git pull 仓库地址 分支名
ssh免密登陆
就是将仓库地址换成ssh码,那样push分支就不需要输入用户名和密码
关于分支
创建分支
$git branch 分支名
查看分支
$git branch
切换分支
– 在合并分支前,分支中的文件只有在当前分支下才显示
$git checkout 分支名
合并分支(在主分支上执行,被合并的分支任然存在)
$git merge 需要合并的分支名
删除分支(在主分支上执行)
– 分支在合并之后才能删除,如若强制删除 -d 换为 -D
$git branch -d 分支名
撤销
(应用场景:我追踪文件以后修改了文件,结果我觉得还是原来的好,这是我就用暂存区里的覆盖)
$git checkout 文件名 (将暂存区里的文件覆盖工作目录里的文件)
将文件从暂存区中删除
$git rm --cached 文件
恢复仓库某个状态
(应用场景:后面的代码有问题,需要回到更早的状态,恢复的状态会覆盖工作目录和暂存区内的内容)
$git rest --hard 所需状态提交时的id ($git log里找id)
暂时保存更改(在所需保存分支上执行)
(应用场景:正在开发一个分支上的功能,但是现在需要修改另一个分支,就先将手上的分支先暂时保存起来去改另一个分支,结束后再将原分支恢复)
$git stash
恢复改动(暂时保存时独立的,所以恢复的分支一定要在正确的分支下恢复)
$git stash pop