Git的三种状态
Git的—般开发流程
创建仓库/从远程仓库克隆创建并切换到特性分支》创建/修改文件》提交工作区文件到暂存区》提交暂存区文件到本地仓库》切换到主干分支》合并特性分支到主干分支》推送本地仓库到远程仓库
Git免密登录
Git有HTTP和SSH两种连接方式,使用HTTP连接方式时,每次与远程仓库进行交互的时候都需要输入密码,比较繁琐。因此建议配置SSH密钥,使用SSH方式与远程仓库交互。
使用ssh-keygen
命令生成公钥,将生成的公钥复制到GitLab中
Git常用命令
git init
创建一个空的本地仓库或者重新初始化一个已经存在的仓库
git clone
克隆远程仓库到本地
git remote
管理远程仓库
git remote add origin + git仓库链接
关联远程仓库
git status
显示工作区域的状态
git log
记录提交日志
git reflog
记录所有分支的所有操作,与git status
不同之处在于git log
只记录commit日志,本地和远程都保存一份。git reflog
记录所有的操作日志,只保存本地。
git config
修改配置信息,主要是email和author
比如在图片中author是unknown,使用gitconfig
命令添加用户信息
之后我们将文件改动一下,在hello.py中加入hello line2,然后git commit
提交
可以看到,已经显示了author和email
git diff
默认显示工作区与暂存区之间的差异,我们在hello.py文件中添加一行add line3
可以发现,在工作区中比暂存区中多了一行 add line3
使用git add
将工作区提交到暂存区后,俩这内容相同,所以git diff
命令输入后,没有任何提示。
git diff --cached
和git diff --staged
对比暂存区与本地仓库的差异
我们git commit
后再git push
提示当前分支branch2没有对应的上游分支,即git并不知道将branch2推送到远程哪个分支上,所以需要建立本地与远程对应的关系。
git diff
可以查看分支的差异
git fetch
拉取远程仓库到本地仓库
git merge
合并分支
git pull
拉取远程仓库到本地仓库并且合并到本地分支 相当于git fetch + git merge