Git的基本使用
Git的初始化
- 使用git config命令进行配置
$git config --global user.name "Mr-Zhangheng"
$git config --global user.email "1393640672@qq.com"
- 执行了上面的命令后,会在根目录(/home/shiyanlou)下建立一个叫.gitconfig 的文件(该文件问隐藏文件,需要使用ls -al查看到)可以使用vim或cat查看文件内容:
$cat ~/.gitconfig
- .gitconfig就是Git全局配置的文件
- 一般配置方法是`git config –global <配置名字> <配置的值>
- 如果想使项目里的某个值与前面的全局设置有区别(例如把私人邮箱地址改为工作邮箱),可以在项目中使用
git config 命令不带 --global 选项来设置.
这会在当前的项目目录下创建 .git/config,从而使用针对当前项目的配置。
获得一个Git仓库
两种方法:从已知的Git仓库中clone/新建一个仓库,把未进行版本控制的文件进行版本控制
Clone一个仓库
- 为了得到一个项目的拷贝(copy),我们需要知道这个项目仓库的地址(Git URL).
- Git能在许多协议下使用,所以Git URL可能以ssh://, http(s)://, git://开头. 有些仓库可以通过不只一种协议来访问
- 命令:
$git clone 地址
- 在每行命令后面多了个(master),这是由于该Linux使用的是zsh Shell,zsh会判断当前的目录是否有Git仓库,如果是的话则自动把目前所在的git分支显示在提示符中
初始化一个新的仓库
创建代码目录:
make project;cd project;git init
–ls -la
查看结果,会发现project目录下会有一个名叫.git 的目录被创建,这意味着一个仓库被初始化了。可以进入到.git目录查看下有哪些内容 #### 正常的工作流程
- 创建或修改文件–touch
- 使用git add命令添加新创建或修改的文件到本地的缓存区(Index)
- 使用git commit命令提交到本地代码库
- 可选,有的时候并没有可以同步的远端代码库)使用git push命令将本地代码库同步到远端代码库
example
git status
命令查看当前git仓库的状态- 现在为commit做好了准备,可以使用 git diff 命令再加上 –cached 参数,看看缓存区中哪些文件被修改了。进入到git diff –cached界面后需要输入q才可以退出;如果没有–cached参数,git diff 会显示当前你所有已做的但没有加入到索引里的修改;
- 当所有新建,修改的文件都被添加到了缓存区,我们就要使用git commit提交到本地仓库; 需要使用-m添加本次修改的注释,完成后就会记录一个新的项目版本
- 再次输入git status查看状态,会发现当前的代码库已经没有待提交的文件了,缓存区已经被清空–至此,我们完成了第一次代码提交
- 如果是修改文件,也需要使用
git add
命令添加到缓存区才可以提交。如果是删除文件,则直接使用git rm
命令删除后会自动将已删除文件的信息添加到缓存区,git commit
提交后就会将本地仓库中的对应文件删除6. 如果本地的仓库连接到了远程Git服务器,可以使用下面的命令将本地仓库同步到远端服务器:$ git push origin master
分支与合并
Git的分支可以让你在主线(master分支)之外进行代码提交,同时又不会影响代码库主线
分支
- 运行
git branch
命令可以查看当前的分支列表,以及目前的开发环境处在哪个分支上 –星号标识了当下工作在哪个分支下 git checkout 分支1
可以切换到分支1- 由于两个branch修改了两个不同的文件,所以合并时不会有冲突;如果有冲突,比如两个分支都改了一个文件file3,则合并时会失败–
git merge -m "注释信息" 将要被合并的分支名
git branch -d 分支名
只能删除那些已经被当前分支的合并的分支. 如果你要强制删除某个分支的话就用git branch –D
查看Git日志
git log
可以显示所有的提交(commit) ##### 日志统计
git log --stat
##### 日志排序
总结
基本命令:
- git config:配置相关信息
- git clone:复制仓库
- git init:初始化仓库
- git add:添加更新内容到索引中
- git diff:比较内容
- git status:获取当前项目状况
- git commit:提交
- git branch:分支相关
- git checkout:切换分支
- git merge:合并分支
- git reset:恢复版本
- git log:查看日志
Git应用形象介绍
https://www.cnblogs.com/wupeiqi/p/7295372.html
常用命令
https://images2018.cnblogs.com/blog/359884/201711/359884-20171128123923050-1074438610.png