目录
1、执行git 命令的工具-Git Bash
- 使用方法:在需要使用的项目文件夹下右键鼠标,选择“Git Bash Here”
2、使用Git Bash创建远程仓库并上传项目文件
步骤一:登陆github账号
- (在自己拥有一个github账号的前提下)登陆自己的github,在github页面右上角点击+号,选择“new repository”新建仓库
(图1)
(图2)
(图3)
步骤二:Git Bash创建远程仓库
- 在需要上传的项目文件夹下右击鼠标,选择“Git Bash Here”,然后输入以下命令
git init // 进行本地git初始化 会在项目文件夹下生成隐藏的git文件
git remote add origin git@github.com:github-yuner/tiantian.git //创建远程仓库并和github关联,这里可能需要SSH key 公钥权限publickey,不然在pull或者push的时候会提示没有权限
git branch -M main // 创建主分支 如果是团队开发可能需要创建开发分支甚至更小的分支
touch README // 新建一个README文件
git add README // 上传文件,上面这两句是为了解决“空目录不能提交到远程仓库”的问题
git commit -m "first commit" // 添加本次提交文件的操作描述, “first commit" 引号中的描述是自定义的
git push origin main // 将README提交到(push)远程仓库上 即github的主分支上
git add . // 将当前项目文件夹内的所有内容提交,“.” 代表所有文件,也可以直接写文件名
git push -u origin main // 将文件都提交到github主分支上,在这之前可以添加描述
- 无注释说明版本的。这些命令在Git Bash中是一行一行输入的,输入一行都会有一个小的反馈,通过这些反馈我们可以知道命令是否执行成功
git init
git remote add origin git@github.com:github-yuner/tiantian.git
git branch -M main
touch README
git add README
git commit -m "first commit"
git push origin main
git add .
git push -u origin main
- origin就是创建的远程仓库,这个名字可以自己取;git@github.com:github-yuner/tiantian.git是自己之前在github上new repository成功之后的SSH,即远程仓库地址(这里可能需要SSH key 公钥权限publickey,不然在pull或者push的时候会提示没有权限,操作步骤参考:git 上传文件失败:Permission denied (publickey)),使用SSH在上传代码的时候不用验证github账号和密码,适合自己做项目练手的时候用(比较方便),当然也可以使用HTTPS,这个要验证,安全性会高
- 提交成功之后在github上,刷新下页面,看到类似如下的界面代表项目成功添加到了github
步骤三:创建开发分支
- 在实际开发过程中,一个项目可能由多个人进行开发,需要保证项目有一个主分支,即之前创建的main分支(有些同学的也叫master分支),主分支上的代码更加完善(所以在github上面看到好的项目要下载其源码的时候,记得在主分支上下载),有一个开发分支,开发分支上的代码经过测试运行没有什么问题之后就可以合并到主分支上,甚至有多个细小的开发分支(一般更细的分支上只进行某一项项目的细分任务,这些细小的分支在开发完成之后要将其上的代码合并到开发分支上,开发提交完成之后就会删除掉)
- 当然了,如果是自己纯当练手,练习一些简单项目的话,直接在主分支上进行开发也是可以的
- 在创建开发分支之前可以练习几个git命令
git remote // 查看已经创建的远程仓库列表
git branch // 查看目前已经存在的分支
- 创建开发分支
git checkout -b develop // 创建develop 分支
git push origin develop // 将此分支上传到远程仓库
创建完这个分支之后,当前分支会自动转到这个develop分支上,通过git branch可以看到目前所有的分支
这时候,打开github,登陆自己的账号,在之前提交的项目中也可以看到自己创建的分支
- 从开发分支跳转到其他分支,输入以下命令
git checkout dev // 或者
git checkout main
- 删除分支
git branch -d develop // -d中的d就是delete的意思
这时候刷新github,上面的develop分支还没有删除,这个时候可以点击(3branch)手动删除,可能还有其他更好的方法,可以自行查找
(图1)
(图2)
(图3)再返回到刚才的位置,develop分支就没有了
步骤四:(补充)上传某一个分支修改的内容到开发分支上
- 之前做项目的时候创建了一个createComponents任务的开发分支,做了点笔记,留在这里做参考
git status //查看状态,比如修改过的文件等
git add . //全部提交到当前所在分支
git commit -m "add createComponents" //添加(此次提交的)注释。(按下回车后此条分支已经没有用了,应该删除)
git checkout dev //切换到开发分支上
git merge createComponents --no-ff //将创建组件的分支合并到开发分支上 (添加--no-ff 会将记录添加到git log中,方便后期查看合并分支的记录)(执行完这条命令之后,会提示写注释,直接默认输入":q"回车即可(:q!))
git log //查看合并日志
git push origin dev //将最新开发分支push到远程仓库(注意多人协作不要产生冲突)
git branch //查看分支
git branch -d createComponent //删除创建的组件分支
3、总结git命令
/**********************************创建远程仓库****************************/
git init // 初始化git
git remote add origin git@githubxxxxx // 创建远程仓库 连接github 以下origin都代表远程仓库
git remote // 查看远程仓库列表
git branch -M main // 创建主分支
touch README // 创建文件
git add README // 提交文件到暂存区
git commit -m "xxxxx" // 添加描述
git push -u origin main // 提交到远程仓库
/*************************************创建分支*****************************/
git checkout -b xxxxx // 创建分支 开发分支和细分的小分支都是一样的方式创建
git push origin xxxxx // 将开发分支提交到远程仓库
git branch // 查看分支列表
git checkout xxxxx // 转到某一个分支上
git branch -d xxxxx // 删除某一个分支
/***************************文件修改之后的分支合并和删除***************************/
git status // 查看状态
git add . // 修改之后的文件,全部提交到当前所在分区(暂存区)
git commit -m "xxxxx" // 添加本次操作的描述
git checkout xxxxx(开发分支) // 转到另外一个分支
git merge xxxxx(小任务开发分支) --no-of // 合并分支到开发分支
git log // 查看日志
git push origin xxxxx(开发分支) // 提交最新开发分支到远程仓库
git branch -d xxxxx(小任务开发分支) // 在确保该分支无用之后删除该小任务分支
/***********************************补充*********************************************/
git reset . // 撤销git add所有文件 在git commit之前执行
git reset xxxxx // 撤销指定文件 xxxxx为文件的名字