文章目录
- 1、git安装
- 1.1、Linux安装
- 1.2、Windows安装
- 1.3、MAC安装
- 2、配置git
- 3、git命令使用
- 4、git远程服务器
- 5、提交到远端服务器
- 6、commit合并
- 7、创建分支
- 8、命令练习记录
1、git安装
1.1、Linux安装
在linux上我们建议你用二进制的方式来安装git,可以使用发行版包含的基础软件包管理工具来安装,如果你是
是CentOS或者Fedora的操作系统,可以使用yum命令来安装git:
sudo yum install git
如果你是ubuntu或者是Debian可以使用apt-get的命令来安装git:
sudo apt-get install git
1.2、Windows安装
在 Windows 上安装 Git 也有几种安装方法。 官方版本可以在 Git 官方网站下载。 打开
http://git-scm.com/download/win,会检查你的操作系统是32位的还是64位的,并自动开始下载对应的安装包。
1.3、MAC安装
通过homebrew安装git
首先homebrew: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)„
安装git: brew install git
2、配置git
当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改:
git config --global user.name “lizhiyong”
git config --global user.email lizhiyong4360@gmail.com
可以使用git config --list来查看git的所有配置
如果你遇到问题也可以查看git的官方文档。
https://git-scm.com/book/zh/v2
3、git命令使用
1、创建仓库
git init
2、add
git add . # 将所有修改添加到暂存区
3、commit
git commit -m “描述信息”
4、git远程服务器
虽然我们说git是一个分布式的版本管理工具,不像svn
那样离开了中央服务器的仓库就干不了活了,但是如果有个
中央服务器存在,还是方便了多人之间的协作
一:创建git账号和git用户组
sudo adduser git #添加git用户
sudo passwd git #添加git的密码
sudo groupadd git #添加git用户组
sudo usermod -G git git #添加git用户到git用户组
二、创建git仓库
cd /srv # srv目录下存放git的仓库
mkdir nginx-docs.git # 创建nginx-docs.git目录
cd nginx-docs.git
git init --bare # bare选项指示该仓库为裸仓库
sudo chown -R git:git /srv/nginx-docs.git # 修改权限为git用户
git的工作流程一般是这样的:
1、在工作目录中添加、修改文件;
2、将需要进行版本管理的文件add到暂存区域;
3、将暂存区域的文件commit到git仓库;
4、本地的修改push到远程仓库,如果失败则执行第5步
5、git pull将远程仓库的修改拉取到本地,如果有冲突需要修改冲突。回到第三步
因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)
5、提交到远端服务器
# 1、添加的-a参数会把当前暂存区里所有的修改(包括删除操作)都提交,但是那些尚未添加到暂存区的内容是不会提交的,
git commit –a –m “commit messeages
# 2、他会把此次提交追加到上一次的commit内容里
git commit --amend
# 3、git push命令用于将本地分支的更新,推送到远程主机
git push <远程主机名> <本地分支名>:<远程分支名>
例如:
git push origin master:refs/for/master
6、commit合并
# 4、git commit合并
git rebase
命令了,即git rebase –i 4cbeb4248f7, -i后面的参数表示不要合并的commit的hash值。
# 5、查看commit内容
git log
# 6、每条日志显示一行
git log --online
# 7、只显示多少行
git log -[length]
# 8、跳过前面的skip条日志
git log --skip=[skip] -3
# 9、显示一些统计信息以及文件的改动内容和行信息
git log -p
# 10、显示提交作者日期
git log --stat
# 11、显示每个author提交commit和多少条commit
git shortlog
# 12、按日期
git log --after="2018-7-1" # 2018年7月1好之后的所有日志
git log –-before="2014-7-1"
# 13、按作者
git log --author="Dounin"
# 14、按照提交信息
git log --grep=“issue” # 按照提交本中是否包含issue的日志
# 15、按文件
git log -- ./src/http/modules/ngx_http_xslt_filter_module.c
# 16、按照内容
git log -S “ngx_free” # 即所有文件中包含了 ngx_free字符串的修改
# 17、按照范围
git log <since>..<until> # 比如 git log master..feature这可以显示出自从master分支fork之后,feature分支上所有的提交
# 18、显示commit-id的提交内容,包括所有文件的修改信息
git show commit-id
7、创建分支
# 1、创建分支:
git branch dev
# 2、分支切换
git checkout dev
或者:
git checkout -b dev
8、命令练习记录
# 创建裸仓库,一般用于远端服务器
git init --bare
# 拉取代码
git clone /Users/zhu/Desktop/Audio_Study/git_test
git clone 用户名@ip:/path/to
# 生成公私钥
ssh-keygem -t rsa
# 查看分支
git brach
# 查看用户信息
git config --local -l
# 修改当前目录的用户信息
git config user.name mark-a
git config user.enail mark.a@qq.com
# 全局修改
git config --global user.name mark-a
# 推送到远端
git push origin master
# 逆向操作
# 当前world.c已经在暂存区
git restore -S .
git restore -S world.c
# 查看状态
git status
# 现在world.c已经通过commit提交到本地仓库了,现在要退回
# 查看简洁提交记录
git reflog
# 退回之前的版本
# (默认的,退回到workspace)
git reset --mixed head~1
# 退回到暂存区
git reset --soft head~1
# 上次提交直接清空
git reset --hard head~1
# 整理操作
# 整理上一次的提交
git commit -amend
# 整理以前的
git rebase -i 前七位~ 前七位(md5)
# 解决冲突
git pull
git add world.c
git commit world.c -m "first commit"
git commit
# 创建分支
git branch develop
# 切换分支
git checkout develop
# 合并
git merge bug/timer
# 排除添加文件
创建一个.gitignore
*.exe