写在前面的话:史上最浅显易懂的Git教程!推荐廖雪峰的教程!www.liaoxuefeng.com/wiki/896043…
git
分布式的版本管理系统
git init可以把当前目录初始化为一个git仓库,当初始化完成之后,在目录下就有一个叫.git的隐藏目录,这个目录咱们一般不会去多操作它,这个目录一旦删除,那就相当于当前目录就是一个普通的目录,而不再是一个git仓库。
初次运行git的时候可能需要配置全局的用户名和邮箱:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
只要全局配置了之后,在你的用户根目录下,就有一个.gitconfig的文件,直接修改这个文件和命令行修改,结果一样。
git的语义化commit
公钥配置
在任意位置打开gitbash,输入$ ssh-keygen ,只需要通过这个命令回答问题的方式,就可以生成密钥对,会新增一个.ssh文件夹。 读法: ssh-key gen => generator "密钥对" 保存位置 =>用户目录/.ssh/
Generating public/private rsa key pair. Enter file in which to save the key (/Users/Leo/.ssh/id_rsa): 这里一定是写带路径的名字/Users/Leo/.ssh/id_rsa_coding 在ssh目录下就会出现这样的 id_rsa_coding id_rsa_coding.pub 公钥,用于放在coding上的
可以添加公钥到git平台
新建一个 (这里没有点)config(这里没有扩展名) 文件, 这个文件关联服务器和密钥对,要配置多个平台就在这个文件里继续新增一条配置,不用新建config文件。
Host git.dev.tencent.com(这里的地址是你的git地址) User Leo (这里的名字随便写) PreferredAuthentications publickey (注意一个字母都不能少,而且区分大小写) IdentityFile ~/.ssh/id_rsa_coding (这个就是你要使用哪一个密钥对, windows上也是全路径)
git基本流程
git init: 初始化一个git仓库,如果做错了,显示隐藏文件,删除.git目录 git status: 查看状态 git add 文件名: 添加某个文件 git add .(-A): 添加所有修改 git checkout 文件名 在add之前回退 git reset --hard 在add之后回退 git commit -m '写你的消息' git log 查看提交历史 按字母 q(uit)退出 git reset --hard 版本号 在commit之后回退到指定的版本 git diff(erence) 可以查看没add的不同 git remote add origin (git@git.dev.tencent.com:leochow/renzaoge.git 仓库地址) git clone: 克隆远程仓库到本地 git branch 查看本地分支 git branch -r 查看远程分支 git branch -D 分支名 删除某个分支 git checkout 分支名: 切换到已有的分支 git checkout -b 分支名: 新建一个分支,并且切换到该分支 git push origin 远程分支名: 如果远程已经存在同名分支,则会有冲突或者合并,如果没有,就会创建一个远程分支,并且和当前分支是关联的
pull request(pr), 新建 合并请求步骤
rebase 流程
pre-1: 在基准分支(dev)上接取最新的代码 git pull origin dev pre-2: 切换到自己的分支上 git checkout Leo/home
git rebase dev 解决冲突 git add -A git rebase --continue 重复2,3,4 至到reabase完成 有可能本地自己的分支和远程分支还有冲突,这时候需要git pull …… 之后,解决冲突再push