赞
踩
目录
git是一个代码协同管理软件,主要用来完成多人协同开发的时候管理项目
分布式:么一个节点都保存完成的代码,没有统一的中央服务器,节点与节点之间互相下载并推送代码,列如git
集中式:代码是集中管理,每次完成的代码上传到中央管理器,然后再从中央管理器下载代码使用,列如svn
Windows官网下载: Git - Downloads
通过如下命令完成下载
sudo apt-get install git
如果出现无法获得锁和无法锁定管理目录的情况,重启直到可以安装
git的配置分为,所有用户、当前用户、当前项目
- git config --system 配置信息
- 配置文件是:/etc/gitconfig
- git config --global配置信息
- 配置文件是:~/.gitconfig
- git config
- 配置文件是:当前项目下的 ./.git/config
用户名配置
- git config --system user.name xxx
- xxx为设置的用户名
这里由于权限不够加了sudo
邮箱配置
- git config --system user.email xxx
- xxx为设置的邮箱
配置编辑器
- git config core.editor vim
- 依赖项目
查看当前所有配置信息
git config --list
git主要的就是通过把工作区的代码先添加到暂存区,然后再把暂存区的代码添加到本地仓库,本地仓库则可以通过远程仓库来上传或者下载代码
首先创建一个文件夹,然后再进入该文件夹执行如下命令即可初始化仓库
git init
git status
- git add 文件名
- 提交指定文件到暂存区
-
-
- git add *
- 提交所有文件到暂存区
- git commit -m 提交说明
- 提交说明可以很清晰的了解文件提交时候的更改
如果文件提交到了本地仓库之后,再在工作区对文件进行修改的话,可以通过get status来判断是把工作区的文件覆盖到本地仓库,还是通过本地仓库的文件恢复工作区的文件
通过查看commit日志,可以查看是谁,邮箱是什么,在什么时候往本地仓库添加了什么,通过如下命令查看
- git log
- 查看所有commit日志
-
- git log --pretty=oneline
- 查看单行日志
git diff 文件名
由于刚才往1.c文件添加了内容并没有上传到本地仓库,所以会有差异
git checkout 文件名
- git checkout -- 文件名
- 丢弃工作区文件的修改,不会同步到本地仓库中
- git mv 源文件 目的目录
- 在本地仓库中将源文件移动目的目录中(本地也会移动)
-
-
- git rm 文件名
- 在本地仓库中删除指定的文件(本地也会删除)
- git reset --hard HEAD^
- ^的个数决定回到上几个版本
- git reset --hard commit_id
- commit_id就是提交后,通过git log 查看的长串数据前七位
git reflog
在当前工作的位置添加快照,保存工作状态,一般用于版本的迭代
可以理解为给版本号取别名
- git tag 标签名称
- 创建标签,默认是使用最新的版本号设置
-
- git tag 标签名称 -m 提示信息
- 创建标签并设置提示信息
-
- git tag 标签名称 commit_id
- 指定某一个commitID设置标签
- git tag
- 查看当前标签
-
- git show 标签
- 查看标签代表信息
git tag -d 标签名称
- git show 标签
- 查看指定标签代表信息
git reset --hard 标签名称
如果想要实现一个功能,但是现在有三种实现方法,为了确定哪个实现的方法更好,于是可以通过创建临时的工作区来分别判断,需要的留下,不需要删除
个人理解为,把当前工作区复制若干份,分别操作,筛选。修改本地文件后创建临时工作区,配套使用,可以把修改保存到临时工作区
git stash
git stash list
git stash apply stash@{编号}
git stash pop
git stash drop stash@{编号}
git stash clear
怎么理解分支,分支中权限最大的是maser,相当于决策每一个分节点上传上来的代码的可否。如果说一个大型的项目开发是一个分支,那么每个组长就是主分支延伸出去的分支,组长在往下就是组员的分支,每个人负责自己的任务
git branch
git checkout
git checkout <分支名称>
git checkout -b <分支名称>
git merge <分支名称>
git branch -d <分支名称>
另一台主机上面的仓库,可以被其他主机访问
远程仓库的创建步骤如下:
1.创建文件夹
2.设置文件夹属主(默认即可)
3.进入文件夹,设置为共享仓库
git init --bare <项目名称> ,项目名称一般以.git结尾
4.设置本地仓库的属主(默认即可)
5.在本地仓库添加远程仓库
git remote add 仓库名称 用户名@IP地址:共享仓库的绝对路径
仓库名称可以使用任何名字,且必须在某个仓库下执行才可以建立和远程仓库的连接
git remote rm 仓库名称
- git push -u 远程仓库名称 要推送的分支
- -u选项第一次添加才需要,后续不用
创建一个03git文件夹,从远程仓库中获取项目
- git clone 用户名@IP地址:共享仓库绝对路径
- 后续获取只需git pull
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。