根据Git的官方网站 :https://git-scm.com/dowmloads/,选择相应的版本,根据安装命令进行Git的安装。
初始化设置用户名和邮箱
git config --global user.name "Your Name"
git config --global user.email "email@mail.com"
git config --global credential.helper store
创建一个新的本地仓库(省略project-name 则在当前目录创建)
git init
下载一个远程仓库
git clone
添加一个文件到仓库
git add
添加所有文件到仓库
git add .
提交所有暂存区的文件到仓库
git commit -m"message"
提交所有已修改的文件到仓库
git commit -am'message'
查看所有本地分支,当前分支前面会有一个*,-r查看远程分支,-a查看所有分支
git branch
创建一个新分支
git branch
切换到指定分支,并更新工作区
git checkout
创建一个新分支,并切换到该分支
git checkout-b
删除一个已经合并的分支
git branch-d
删除一个分支,不管是否合并
git branch -D
合并分支a到分支b,-no-ff参数表示禁用Fast forward模式,合并后的历史有分支,能看出曾经做过合并,而-ff参数表示使用Fast forward模式,合并后的历史会变成一条直线。
git merge --no-ff -m"message"
合井&squash所有提交到一个提交
git merge --squash
rebase不会产生新的提交,而是把当前分支的每一个提交都"复制"到目标分支上,然后再把当前分支指向目标分支,而merge会产生一个新的提交,这个提交有两个分支的所有修改。
Rebase操作可以把本地未push的分叉提交历史整理成直线看起来更直观。但是,如果多人协作时,不要对已经推送到远程的分支执行Rebase操作。
git checkout
git rebase
移动一个文件到新位置
git mv
从工作区和暂存区中删除一个文件,然后暂存删除操作
git rm
只从暂存区中删除一个文件,工作区中的文件没有变化
git rm --cached
恢复一个文件到之前的版本
git checkout
创建一个新的提交,用来撤销指定的提交,,后者的所有变化都将被前者抵消,并且应用到当前分支
git revert
重置当前分支的HEAD为之前的某个提交,并且删除所有之后的提交。
git reset --mixed
git reset 用于回退版本
--soft 保留暂存区和工作区的所有修改内容。
--hard 丢弃暂存区和工作区的所有修改内容。
--mixed 保留工作区的修改内容,丢弃暂存区的修改内容。
撤销暂存区的文件,重新放回工作区(git add的反向操作)
git restore --staged
列出还未提交的新的或修改的文件
git status
查看提交历史,–oneline 可省略
git log --oneline
查看未暂存的文件更新了哪些部分
git diff
查看两个提交之间的差异