git
git
git init ---初始化工作区
如果在远程(共享)仓库,已经存在一些代码,那么可以使用 git clone 地址 克隆代码
如果不小心初始化工作区了 那就用 git pull 地址 去远程仓库拉取代码
git config --global user.name colin --- 配置用户信息 叫colin ===(--global)--全局得意思
git config --global user.email 1532294251@qq.com ---配置邮箱 (1532294251@qq.com)
touch index.js ---新增 index.js 文件 ---新增文件默认情况下不会被 git记录在文件得状态 , 要想让git 追踪新增文件得状态 , 需要使用git add 命令 将其添加到暂存区
git add index.js ---将新增得 index.js 文件添加到暂存区 --- 这时候index.js 在被修改时候我们就可以追踪到它得状态了
git add * git add -A git add 文件一 文件二 ........ 一样得
git status ---查看文件得状态
如果文件都开发完成, 首先是用git add 命令 将其 添加到暂存区
如果此时想要将暂存区得文件提交一个版本得话 , 就可以使用 git commit
例--------
git commit -m '第一次提交版本' -m 就是备注信息得意思 '备注得信息' 必须带 -m 否则不会给你生成一个新的版本
git commit -m 是把暂存区得所有文件提交一个版本
单个文件提交一个版本 git commit 文件名 -m
如果想查看所有得提交版本记录 使用 命令 git log
撤销在原有代码得 修改 或 添加 使用 git checkout 从暂存区 或者版本区 恢复原有得代码 (就近原则 暂存区有 用暂存区得 恢复 暂存区没有从版本区恢复 )
如果暂存区得文件不想暂存了 可以执行 git restore --staged ---取消文件暂存 (但工作区还有)
如果想回退到某个版本 可以是用 git reset --hard 命令 后面接版本号id (6---7 位就可以 例 : 3c9cba6961e0)
例如我提交四个版本 但是 当我们从第四个版本回退到第二个版本时候 会发现 第二个版本以前的 可以用git log 查到 但是二以后得就查不到了
就像 以前的我们会有记忆 但未来得我们无法预测
这时候如果想全看到版本 需要使用 git reflog 查看 这样就都看到了 -----git reset --hard a45c1c2 =====(a45c1c2 版本id)
如果 先删除被git追踪得文件得 使用 git rm 文件名 (删除工作得文件 与 版本区没 任何关系)
如果想要删除暂存区得文件 使用 git rm --cache
分支 :
( 实际开发时候我们通常保证master 分支上的代码是 可运行,可测试的,并且不要在该分支进行项目开发)
当 git 第一次提交了一个版本的时候 , 会创建一个 master 分支(主分支)
这样可以使用git branch name ----创建一个名为name 的分支
git branch 查看所有分支 默认没有主分支 必须提交一个版本才会有分支 ----有" * "标记的分支是当前所在的分支,即表示你在该分支上开发的
切换分支 使用 git checkout name 切换名为name 的分支上
git merge name 将指定名为name的 分支 合并 到 当前分支上
所以 我们要切换到主分支上 git checkout master 上 使用git merge name 合并分支
快捷命令 :
git checkout -b name ----创建名为name 的分支并 切换到名为name的分支上
git branch -d name -----删除名为name 的分支 (删除指定分支)---一般不用没意义
远程仓库:
ssh-keygen --(秘钥生成器) --ssh 网络连接协议 key 秘钥 gen --generator 生成器
一路enter
(/c/Users/xxx/.ssh/id_rsa): 密钥路径
找到路径 把他复制在github公钥上
将本地代码 推送到远程 git push ssh-url --(ssh-url 免密码登录进行验证 就是git@github.com:Hql1123/learn-git.gi 地址 ) ------->不是http 的一位http每次都要登录
从远程拉取代码到本地 git pull <ssh-url> ---(<ssh-url> ----就是地址)
如果是第一次推送到远程 使用 git push --set-upstream <ssh-url> master ----要推送的master 分支 和远程仓库的分支建立联系 --------{
如果是失败了使用 git push --set-upstream <ssh-url> master -f ----{ -f 强制推送的意思 } (慎用 会覆盖远程仓库的文件)
}
git push 地址 -f ----强制push到github 推到github git pull 从github 拉下代码
错误 fatal