git工具使用指导书,最详细
git config --list /*查看全局配置
git config --global user.email /*全局配置你的邮箱 最好是和你github上一样
git config --global user.name /*全局配置你的用户名 最好是和你github上一样
git init /*初始化当前文件夹,初始化完成后该文件夹及所有后代目录就被git管理了
git add 文件名/文件夹名 /*添加文件至暂存区,暂存区之前未形成历史版本的内容会被覆盖替换
git add --all /*把工作区所有文件添加至暂存区,已经添加过得不会再次添加
git add . /*把工作区所有文件添加至暂存区命令简写,已经添加过得不会再次添加
cd .git
git status /*查看暂存区状态,空文件不管
git reset HEAD -- 文件名 /*从暂存区撤回单个文件
git reset HEAD -- 文件夹名 /*从暂存区撤回单个文件夹
git reset HEAD -- . /*从暂存区撤回所有文件
cd .git
git commit -m "说明" /*将暂存区的内容形成历史版本,前提是暂存区有东西,形成后暂存区没有东西了
cd.git
git log /*查看历史版本,倒叙输出你所保存的所有历史版本,返回的commit id 是历史版本id 唯一的
cd .git
git reset --hard 版本id /*就可以回滚到当时的状态 注意:在历史回滚的时候,回到过去在过去的基础上
增加了东西,再提交就会形成新的时间路线分支,在本地两条时间线可以来回切换,上传远程以后就不可以,必须撤回到本地
cd .git
git rebase -i 前一次版本id /*在删除的时候,进入编辑状态后,:wq保存退出,改历史版本仍存在,需要把左上角pick 修改为drop 再次保存退出就可以了
/*删除历史版本的时候命令行窗口会进入编辑状态,切换到英文输入法,按下i ->表示insert的意思,也就是开始编辑,然后把左上角pick改变成drop以后,
再按下英文输入法模式下的esc键,编辑器文本界面出现等待命令状态,然后输入:wq 表示保存退出
在github上新建远程仓库,点击右上角“+”repository 仓库名只能是英文,
1,第一次上传要求你登录,要填写邮箱和密码。当你填错的时候会再给你一次机会。第二次机会再不同的系统不一样。再命令行窗口书写的时候,不显示,你正常写就可以了
2,仓库地址:如果你上传到GitHub就填写GitHub地址;
如果你上传到gitee 就填写 gitee 地址
gitee简易的命令行入门教程:
Git 全局设置:
git config --global user.name "张受华"
git config --global user.email "8952534+zhang-shouhua@user.noreply.gitee.com"
创建 git 仓库:
mkdir zhangshouhua01
cd zhangshouhua01
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/zhang-shouhua/zhangshouhua01.git
git push -u origin master
第二次直输入:git push /*将会把历史版本里的文件全部上传
origin 变量名,可以自己随便写
-u:记录下你本次推送到哪一个地址哪一个分支,如果下次你不进行修改,还会push到这个地址这个分支
Master 分支
已有仓库?
cd existing_git_repo
git remote add origin https://gitee.com/zhang-shouhua/zhangshouhua01.git
git push -u origin master
1,第一次拿取
拉取远程仓库的文件到本地
git clone 远程仓库地址
第n次拿取,不需要再次clone,你只需要cd到第一次clone下来的文件夹里输入:git pull
2.拿取别人的仓库代码,
git clone 地址
第二次拿取,进入第一次拿取下来的文件夹
git pull
3,上传的冲突问题:本地仓库里有两条时间线分支,上传到远程会冲突,要先拉取一下,输入:
git pull
然后再提交上传
git add .
git commit –m “说明”
git push
4,三个git相关的文件
1).git 占位文件:因为git管理工具初始化不管空文件,git给提供了一个方案,用vscode打开在空文件里新建一个.gitkeep,这个文件就是给文件夹占位的,没有任何意义,就是为了保持文件结构
2)git忽略文件:在开发过程中我们会下载第三方node_modules文件夹,这个里面的内容又多又碎,最好不上传,我只要初始化项目的时候,生成package.json文件,只要package.json在,就不要上传node_modules,git给了我们一个.gitignore文件,用VScode在.git同级目录新建文件.gitignore在里面写node_modules/ 还有package-lock.json(记录下载地址,如果用内网会有网关)
3)git说明文件:readme.md按Markdown格式自己书写说明就可以了。
浏览器插件:octotree
5.git分支
1)当你初始化仓库以后,会自动生成一个master分支,叫做主分支,也叫作根分支,
=>我们可以开辟更多的分支,区分别书写内容
=>每个分支上的内容相对独立
创建分支:
cd .git
git branch 你自定义的分支名称 /*你当前分支有什么,相当于把当前分支复制了一份,每个分支创建的时候,都是所在分支的所有内容
2)查看分支情况:
cd .git
git branch
git checkout 分支名称 /*切换分支,*所在的位置代表你所在的分支
git checkout –b 分支名称 /*切换并创建分支,当没有该分支时候用该命令
3)合并分支:只能是你站在那个分支上把别的分支上的内容合并到自己分支上
cd .git
git merge 你要合并过来的名称 /*第二次合并会进入编辑模式直接保存退出:wq
3)删除分支
git branch –d 你要删除的分支名称 /*如果分支上有一些历史版本,还有一些没有形成历史版本的临时文件,那么这个分支可能删除不掉
强力删除分支的指令:
git branch –D 你要删除的分支名称 /*不管分支里有什么都会强力删除
6,分支的远程操作
git remote add origin https://gitee.com/zhang-shouhua/zhangshouhua01.git
git push -u origin master
把当前分支和远程master建立连接,所有的文件都传到master上
1) 把自定义分支的内容上传
切换到你要上传的分支,切换到.git目录下
git push origin 分支名称
2) 删除远程分支
cd .git
git push origin --delete 你要删除的远程分支名称
3) 特殊分支扩展
Git branch gh-pages
gh-pages
可以把你的github变成一个临时线上服务器
=>只要你在这个分支上上传一个叫index.html,可以直接访问
=>如果上传的不是index.html 那么你访问的时候需要自己书写文件名
=>上传到gh-pages分支后,切换到gh-pages分支点击settings,下拉到github pages位置会给你一个地址
=>如果你的html文件叫做index.html,直接访问地址
=>如果你的html文件叫别的,那么你就访问: 地址+文件名
7,分支命名规范:
1) 主分支master:
=>创建git仓库就会生成,不接受任何代码上传,只接受dev分支合并的内容,只存储每一个迭代版本中经过测试合格的版本
2) 主开发分支: dev/development/deve
=>初始化项目以后,就会直接从master上开辟的分支
=>不接受任何代码上传
=>只接受主功能分支合并的内容
=>存储在开发过程中每一个阶段内容
3)主功能分支:feature-xxx
=>直接从dev分支上开辟出来的分支
=>进行各个功能的开发
=>开发完毕以后把代码合并到dev分支上
=>接受文件上传
4)功能bug解决分支:feature-xxx-fix-xxx
=>再项目运行过程中,出现bug进行修复的分支
=>都是从功能分支上开辟出来的,修改完毕以后合并到功能分支上,再由功能分支合并到dev分支上,一般不删除
5)紧急bug解决:hot-fix-xxx
=>直接从master上开辟,进行紧急的bug修复,修复完毕以后,直接合并到master
8,github密钥:
=>github上除了可以使用https的地址,还有一个地址是ssh地址,需要在你的电脑里面配置一个密钥,然后直接登录,
=>打开命令行:ssh-keygen –t rsa –C “你git工具里配置的全局邮箱”
=>回撤以后会要求你填写二次验证密码,可以不写,直接三个回车,然后生成密钥
=>去你电脑找到密钥,找到目录下的密钥,找到pub文件,用编译器打开,复制全部内容
=>来到github,右上角用户settings
=>找到SSH,点击ssh后面的New SSH key
=>title位置随便写,key的位置粘贴你的密钥,这就添加成功,以后你就用ssh上传
谷歌github浏览插件:Octotree - GitHub file tree
- 点赞
- 收藏
- 关注作者
评论(0)