日志:348 评论:13
北京, 西城
【Git】Git使用笔记

Git使用笔记

安装

使用yum安装git

yum -y install git

配置

创建用户设置密码

useradd git
passwd git

授权git目录

mkdir git /git/
chown -R git:git /git/

禁用git登录

[root@locahost]# vi /etc/passwd

git:x:1000:1000::/home/git:/bin/git-shell

启动git,其实git依赖的是ssh服务,所以一般情况下我们不需要单独安装

如果是在虚拟机(Docker)当中使用git服务的话,就需要执行下面的命令了

yum -y install openssh-server
systemctl restart sshd

如果是在虚拟机(Docker)当中使用git服务,建议将ssh默认端口22换成其他的,例如:8022就不错

[root@locahost]# vi /etc/ssh/sshd_config

tfart_Port 22 -> Port 8022

[root@locahost]# systemctl restart sshd

创建库

创建git库tongfunet

cd /git/
git init --bare tongfunet

授权git库tongfunet(重要)

chown -R git:git /git/tongfunet/

切换到客户端目录(就是检出库代码的主目录)

mkdir -p /web/
cd /web/

克隆git库tongfunet

git clone ssh://git@localhost:22/git/tongfunet/

进入git库tongfunet

cd /web/tongfunet/

多用户配置

一般情况下,我们开发都是团队进行的,这时就需要分配多个账户管理一套代码

建立子账号

useradd -g git zhang3
useradd -g git li4

授权子账号

passwd zhang3
passwd li4

授权项目目录

因为我们使用了 0775 权限,也就是说目录所有者和组都可以有完全控制权

而我们的zhang3和li4所属组都是git

所有zhang3和li4都可以操纵这个仓库了

chmod 0775 -R /git/tongfunet/

master分支

告诉服务器“我是谁”

git config --global user.email "whoami@git.com"
git config --global user.name "whoami"

建立master分支

git checkout -b master

添加一个文件并提交(重要)

touch README
git add README
git commit -m 'init'

提交master分支

git push origin master

更新与合并

说明

使用pull命令进行更新合并操作,或者使用fetch、merge命令

拉取主机origin的最新版本

git pull origin

拉取主机origin的dev分支的最新版本

git pull origin dev

拉取主机origin的dev分支与本地local分支合并

git pull origin dev:tongfu

拉取主机origin的dev分支与本地当前分支合并

git pull origin dev

分解操作

git fetch origin
git merge origin/dev

使用 --rebase 合并

git pull --rebase origin dev

分支的使用

建立分支dev

创建dev分支,并切换到dev分支

git checkout -b dev

Switched to a new branch 'dev'

上面的命令等价于

git branch dev
git checkout dev

Switched to a new branch 'dev'

查看当前分支

git branch

* dev
  master

提交修改分支dev

touch readme.txt
git add readme.txt
git commit -m "add readme file"

1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 www/readme.txt

提交分支dev

git push origin dev

删除分支dev

git branch -d dev

Deleted branch dev (was a0699123a).

强制用master分支覆盖本地分支

git fetch --all
git reset --hard origin/master
git pull

图形化工具

虽然我们学习了如何使用命令行操作Git,但是毕竟还是太繁琐了,而且容易敲错命令。

安装图形化工具之前,我们需要先安装git windows版本

Git的Windows版本下载地址如下

https://git-scm.com/downloads

这里推荐是图形化工具管理Git!!!

一些Git的GUI工具的下载地址

https://git-scm.com/download/gui/windows

https://tortoisegit.org/download/

Git.Config

介绍

git有非常多的配置参数,下面我们就一点点学习它们的作用和使用方法

core.autocrlf

用来控制在git将文件提交到版本库的时候是否把换行符改成CRLF(windows环境)

值为 true 的时候,在git提交文件到版本库的时候自动将文件内的换行符转变成CRLF

git config --global core.autocrlf true

值为 input 的时候,在git提交文件到版本库的时候什么都不做

git config --global core.autocrlf input

core.safecrlf

用来控制在git将文件提交到版本库的时候自动将文件内的换行符统一

git config --global core.safecrlf true

未完待续。。。