Git完全指北
一、Git初始配置
1、什么是Git配置
- 如果已经在系统上安装了 Git,需要做几件事来定制你的 Git 环境。 每台计算机上只需要配置一次,程序升级时会保留配置信息。 你可以在任何时候再次通过运行命令来修改它们。
- git配置是本地git客户端的一个变量,不随git库而改变
2、用户名和邮箱的配置
- 当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改
//配置全局用户名
git config --global user.name "username"
//配置全局密码
git config --global user.email "email"
3、查看Git配置
查看全局配置的用户名和邮箱地址:
git config --global user.name
git config --global user.email
git config --global -l //查看git所有全局配置
二、常用命令
1、提交操作
-
git status
版本状态查看红色:说明文件位于工作区(修改删除或者未跟踪)
绿色:说明文件位于暂存区
没有体现,说明位于版本区 -
git add
添加到暂存区,跟踪新文件,暂存已修改文件等 -
git commit -m '添加注释'
提交修改注释并添加到本地仓库 -
git push
提交到远程分支
2、撤销操作
git restore
撤销工作区的改动git reset HEAD
撤销暂存区的改动git reset --soft HEAD~
撤销本地仓库的提交,HEAD
的意思是上一个版本,比如提交了两次都要撤回,可以使用HEAD~2
3、删除操作
git rm fileName
删除暂存区和工作区的文件git rm --cached fileName
删除暂存区文件,工作区不变git branch -d my-branch
删除本地分支git push origin --delete my-branch
删除远程分支
4、重命名操作
git branch -m old-branch new-branch
修改本地分支- 修改远程分支需要先删除远程分支然后重新关联
git push origin --delete my-branch
删除远程分支git push --set-upstream origin new-branch
重新关联并提交
5、分支操作
git branch name
创建分支git branch
查看当前分支git checkout -b name
创建并切换分支git checkout -B name
创建并切换分支,如果已经存在当前分支,则强制覆盖git checkout name
切换分支git merge name
把某个分支内容合并到当前分支
三、更新当前分支到master最新状态
说下我个人更新当前分支到master最新状态的详细方法:
当前分支名为:current-branch
,下面冒号前面的为在当前所在分支,省去了git checkout操作,自行切换就行。
master: git pull --rebase
更新mastercurrent-branch: git branch -m current-branch old-branch
因为要在master切一条分支出来上传到远程,所以先更改本地分支名,更名之后叫old-branch
master: git checkout -b current-branch
因为是更新到master的最新状态,所以从master上切一条分支下来操作,这条切下来的分支就相当于是master,因为我上一步改了本地的分支名,所以这里切的分支名可以直接叫current-branch
以便于后面直接上传到远程分支不用改名old-branch: git rebase current-branch
在之前的分支上rebase一下新建的当前分支,rebase相当于把新建的分支的内容添加到当前分支的后面,详细的话需要去百度了解,不了解也不影响本次操作current-branch:git merge old-branch
在新建分支上合并之前的分支,把之前分支内容合并到当前新建分支current-branch:git push origin --delete current-branch
删除远程分支current-branch:git push --set-upstream origin current-branch
关联远程分支并提交到远程仓库
四、当前分支内容合并到上线分支(或者其它分支)里面
当前分支名为:current-branch
上线分支名为: branch-online
,下面冒号前面的为在当前所在分支,省去了git checkout操作,自行切换就行。
current-branch:git pull --rebase
在当前分支先pull一下current-branch:git rebase branch-online
在当前分支rebase一下需要合并到的那条分支branch-online:git merge current-branch
在当前分支上合并你的分支,把你的分支内容合并到当前分支上branch-online:git push
然后push提交branch-name这条分支