git工具使用指导书,最详细

举报
zhangshouhua365 发表于 2021/10/15 22:06:55 2021/10/15
【摘要】 git config --list   /*查看全局配置 git config --global user.email /*全局配置你的邮箱 最好是和你github上一样git config --global user.name    /*全局配置你的用户名  最好是和你github上一样git init /*初始化当前文件夹,初始化完成后该文件夹及所有后代目录就被git管理了git add...

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

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。