0%

git

生成rsa key

1
ssh-keygen -t rsa -b 2048 -C "your_email@example.com"

git配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
git config --global user.name "praglody"    //配置用户名
git config --global user.email "praglody@163.com" //配置用户email

#禁止自动转换换行符
git config --global core.autocrlf false

#提交时转换为LF,检出时不转换
git config --global core.autocrlf input

#禁止检测文件权限变化
git config --global core.filemode false

#拒绝提交包换混合换行符的文件
git config --global core.safecrlf true


# 开发服务器配置
git config --system core.autocrlf input
git config --system core.filemode false
git config --system core.safecrlf true

分支

1
2
3
4
5
6
7
8
9
#查看分支
git branch -a

#切换分支
git checkout branch_name

#创建并切换分支
git checkout -b branch_name

版本回退

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

#若文件再工作区,把文件恢复到和当前版本库中一样的状态
git checkout -- file_path

#若文件被添加到暂存区,把文件恢复到和当前版本库中一样的状态
git reset HEAD file_path && git checkout -- file_path
-- 或者
git reset --hard HEAD file_path

#若文件已经提交至本地版本库,但未push到远程,则将版本回退到上个版本
--将代码回退到指定版本,且丢弃这次提交之后的所有变更
git reset --hard HEAD^

--将代码回退到指定版本,且将这次提交之后的所有变更都移动到暂存区
git reset --soft HEAD^

--将代码回退到指定版本,且将这次提交之后的所有变更都移动到工作区
git reset HEAD^

#查看历史版本号
git log --pretty=oneline

远程地址更换后,修改本地仓库的远程地址

1
2
3
4
5
6
7
8
9
10
git remote set-url origin git@git.coding.net:***/***.git

# 删除远程地址
git remote rm origin

# 添加远程地址
git remote add origin git@git.coding.net:***/***.git

# 推送至服务器
git push origin master

初始化脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#! /bin/bash

if [ "x$1" = "x--local"]; then
param=""
else
param="--global"
fi

if [ ! -e ~/.ssh/id_rsa ]; then
read -p "please input your ssh key's comment: " comment
ssh-keygen -t rsa -b 2048 -C "$comment"
fi

read -p "please input your git user name: " username
git config $param user.name "$username"

read -p "please input your git email: " email
git config $param user.email "$email"

# 禁止自动转换换行符
git config $param core.autocrlf false

# 禁止检测文件权限变化
git config $param core.filemode false

#拒绝提交包换混合换行符的文件
git config $param core.safecrlf true