Git使用总结
Git基本配置
生成SSH公钥
大多数Git服务器都会选择使用SSH公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话,就要生成一个。生成公钥的过程在所有操作系统上都差不多。首先先确认一下是否已经有一个公钥了。SSH公钥默认存储在账户的主目录下的~/.ssh目录中:
关键需要查看有没有xxx 和 xxx.pub来命名的一对文件,id_rsa 和 id_rsa.pub,前者是密钥,后者是公钥。如果没有这些文件,则可以通过ssh-keygen来创建:
ssh-keygen -t rsa
# 或ssh-keygen -t rsa -C "youremail@example.com"
密钥类型可以用-t选项来指定,一般默认rsa,-C可以省缺,可以方便用户标识这个密钥,指出密钥的用途或其他有用的信息。
输入完毕后程序同时要求输入一个密语字符串(passphrase),空表示没有密语。接着会让输入2次口令(password),空表示没有口令。3次回车即可完成当前步骤,此时[c盘>用户>自己的用户名>.ssh]目录下已经生成好了。
公钥提交
复制.pub文件的内容,到github或者gitlab之类的个人设置中心
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== schacon@agadorlaptop.local
如何设置tortoiseGit本地密钥
利用PuTTY Key Generator将id_rsa密钥转换为ppk文件格式的密钥,再设置putty密钥
设置和查看全局用户、邮箱
git config --global user.name "xxxx"
git config --global user.email "xxxxx@xx.com"
git config --list
Git搭建仓库和简单使用
Git通常作为代码项目管理工具,可以在远程部署,也可以在本地搭建局域网内的环境使用。
以本地Windows环境为例,简单说明搭建本地仓库的一些注意事项:
1.新建一个Git仓库文件夹,并设置该文件共享,允许局域网内的其他用户可以访问该文件夹,如E:\Back.git,然后将不同的项目新建不同文件夹如project1,project2,project3等。
2.切换到其中project1文件夹,创建一个git仓库:
cd e:\back.git\project1
git init --bare
提示:Initialized empty Git repository in
3.切换到开发项目所在的工作环境中,克隆以上仓库:
git clone //192.168.1.122/Back.git/project1
4.在克隆下来的project1文件夹中,新建一个readme.txt文件,并添加、提交到本地仓库:
git status(查看当前git检测变化)
git add readme.txt(或者git add .)
git commit -m "提交一个readme.txt文件"
5.同步远程仓库代码,并推送当前最新修改内容:
git pull origin master
git push origin master
其中,master代表主分支,如果处于该分支下,可以省略后面的origin master;
pull其实封装了一些操作(git pull == git fetch + git merge)。如果项目成员复杂,约定不统一,直接pull可能会出现一些问题。
另外,在修改项目文件时,最好也先pull一次,减少冲突的可能;
6.查看git提交历史:
git log
Git创建分支和使用分支
1.列出当前远端库的分支情况:
git branch -r
2.新建并切换当该分支:
git checkout -b chenhongqiu
以上语句即相当于
git branch chenhongqiu
git checkout chenhongqiu
3.在当前分支下进行修改项目:
vim index.html
git add .
git commit -m "add a new html [chenhongqiu]"
4.提交变更内容前,链接本地与远程端分支
git push --set-upstream origin chenhongqiu
5.提交变更
git push -u origin chenhongqiu
6.切换master源,合并分支
git checkout master
git merge chenhongqiu
7.合并之后,删除分支
git branch -d chenhongqiu