简介:
Git是一款免费的开源开源的分布式版本控制系统;另外Git和Linux是同一个作者利纳斯。
1.Git基础配置(必须的!!!)
配置用户名(提交时会引用)
git config --global user.name "自己的用户名"
配置邮箱(提交时会引用)
git config --global user.email"自己的邮箱"
ssh密钥生成
1.在命令窗口输入
ssh-keygen -t rsa -C "你的邮箱"
2.然后一直回车,最后会生成ssh key pair
3.
ssh-add ~/.ssh/id_rsa
4
cat ~/.ssh/id_rsa.pub
2.编码配置
避免git gui中的中文乱码
git config --global gui.encoding utf-8
避免git status显示的中文文件名乱码
git config --global core.quotepath off
3.其他配置(选用)
配置KDiff3(没有装KDiff3就不用配)
git config --global merge.tool "kdiff3"
让Git不要管window、Unix换行符转换的事情
git config --global core.autocrlf fase
####代码提交
1.项目的默认分支会在master上,通常我们是不会在这个分支做开发的,更规范的做法是将master对开发人员设置只读状态,最终merge由线上人员完成。我们需要做的就是在自己的分支上进行开发。
// 切换到master分支
git checkout master
// 拉取最新代码
git pull
//以master分支为基础,新建本地分支,新分支名以mmall_v1.0为例
git checkout -b mmall_v1.0
//在远程建立对应的分支,只有新建分支时需要执行这步,以后只需要git push
git push –set-upstream origin mmall_v1.0
2在自己已有的分支进行开发
//查看已有的分支
git branch
// 切换分支
git checkout mmall_v1.0
// 拉取当前分支最新代码
git pull
3.查看文件改变的状态
// 查看有哪些文件改变了
git status
// 查看文件改变的内容
git diff
4.提交代码
//首先时追终变更的文件(注意后面有个点)
git add .
// 提交到本地
git commit -am “我是提交的说明”
//提交到远程
git push
5.做tag
![这里写图片描述](https://img-blog.csdn.net/20180409124007727?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3ljZDUwMDc1Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
//标签名
git tag 标签名
// 提交
git push origin tag 标签名
“`
序号 | 命令 | 解析 |
---|---|---|
1 | git diff | 查看那些已经存在的文件发生的修改(新增的文件不会显示) |
2 | git status | 查看有哪些文件改变了 |
3 | git add . | 追踪所有文件 |
4 | git add XXX | 追踪XX文件 |
5 | git checkout XXX | 还原XXX文件 |
6 | git commit -m “备注” | 提交到本地 |
7 | git push origin master | 提交到master节点 |
8 | git pull origin master | 从master节点拉取 |
9 | git branch | 查看分支 |
10 | git checkout -b XXX | 切换分支 |
11 | git merge XXX | 和XXX分支合并 |
12 | git push origin master | 提交到master节点 |
13 | git pull origin master | 从master节点拉取 |
遇到的问题
1.GitBash闪退 异常信息:VirtualAlloc pointer is null
补充
查看git配置信息的命令
git config –list
而这个配置新一般存放在C盘/用户名/.gitconfig文件中
[merge]
tool = kdiff3
[diff]
tool = kdiff3
guitool = kdiff3
[credential]
helper = !\\”D:/GitExtensions/GitCredentialWinStore/git-credential-winstore.exe\\”
[user]
name = 你的用户名
email =你的邮箱
[gui]
encoding = utf-8
[difftool “kdiff3”]
path = D:/KDiff3/kdiff3.exe
[mergetool “kdiff3”]
path = D:/KDiff3/kdiff3.exe
[core]
editor = \”D:/GitExtensions/GitExtensions.exe\” fileeditor
[push]
default = simple
[alias]
co=checkout
ci=commit
st=status
pl=pull
ps=push
ca=commit -am
b=branch
这里提一下上面的[alias]下配置是取别名,例如:git st==git status