1.Git配置
配置全局名称和邮箱
<code>git config --global user.name "名称"
git config --global user.email "邮箱"</code>
配置完成后,在Home用户目录下,有一个.gitconfig的隐藏文件,该文件记录了配置的内容。
如果你想使某个项目里的设置与全局设置不同,可以去除--global选项,这样会在你当前项目目录下的.git/config文件添加配置,该隐藏文件是无法通过ls -a查看到的,可以直接打开,里面是当前项目的一些配置信息。
2.Clone一个仓库
Git能在许多协议下使用,所以Git的URL可能是ssh://、http(s)://、git://。有些仓库可以通过不止一种协议访问。
<code>git clone <仓库地址></code>
3.初始化一个新的仓库
在合适的目录下,创建一个新的文件夹mkdir project
,进入文件夹,执行git init
命令,此时,初始化仓库成功,文件夹下出现一个.git隐藏文件夹
4.正常的工作流程
<code>1.创建或修改文件
2.使用git status命令查看仓库状态
3.使用git add命令添加新创建或修改的文件到本地缓存区
4.使用git diff --cached命令查看缓存区
5.使用git commit命令提交代码到本地仓库(添加-a选项将未加入缓存区的文件一并提交,但是不会添加新创建的文件,添加-m "注释",为每次提交添加注释)
6.使用git push命令将本地仓库同步到远端仓库(可以指定分支<仓库名> <分支名>,例如:git push origin master)</code>
5.分支与合并
创建分支:git branch <分支名>
查看分支列表以及当前所处分支:git branch
,星号(※)标记当前所处分支
切换到指定分支:git checkout <分支名>
合并分支:git merge -m "合并注释" <分支名称>
合并冲突文件处理:
<code>1.git status查看状态,会发现both modified标记的冲突文件
2.查看冲突文件,注意<<<<<< HEAD,======,>>>>>><分支名>比较的内容,选择需要保留的内容即可
3.执行git add和git commit即可</code>
删除分支:git branch -d <分支名>
,该操作只能删除已经被当前分支合并的分支,如果要强制删除分支,使用git branch -D <分支名>
6.撤销合并
使用git reset --hard HEAD^
撤销一次合并
7.快速向前合并
有一种特殊情况,一个合并会产生一个合并提交,把两个父分支里的每一行内容都复制进来。但是,如果当前分支和另一个分支没有内容上的差异,git就会执行一个快速向前的操作(fast forward),git不创建任何新的提交,只是将当前分支,指向合并进来的分支。
8.Git日志
使用git log <选项>
查看日志
使用git log --stat
查看日志统计
使用git log --graph --pretty=<参数>
格式化日志,例如:oneline、short、medium、full、fuller、email或raw等,--graph
可视化提交图,可不要
使用git log --pretty=format:'%h : %s' --topo-order --graph
按时间顺序显示,--reverse
倒序显示
9.还原修改
恢复到上一次提交的改动:git checkout -- <文件名>
,不加文件名,还原本地全部修改;
已经添加的本地缓存的文件,需要使用git reset -- <文件名>
取消缓存,再使用上一条命令恢复修改。