# git经验总结
目录:
1.安装git
2.配置git
3.helloworld
4.关联到GitHub
5.常用命令总结
1. 安装git
Windows平台: 直接在git官网下载binary版本的安装包安装即可,不需要把git添加至环境变量中,使用gitbash代替cmd,安装过程中要求选择编辑器 ,选择第一个vim即可,不想用了可以更改,只要指定编辑器的位置即可。
linux平台:使用各发行版的包管理命令安装即可,例如ubuntu可以使用apt命令 :$ sudo apt-get install git安装时会提示输入root的密码,安装完成后即可在终端中使用git命令了。
2. 配置git
2.1 初始化git
Windows平台下在开始菜单里找到gitbash打开,在弹出的终端中输入(linux直接在终端中设置即可)
$ git config --global user.name "你的用户名"
$ git config --global user.email "你的邮件地址"
若没有设置用户名和邮件地址,后面git不允许commit,并且会提示上例代码进行设置。
除此之外,你还可以直接打开config文件修改设置,一个具体方法是在终端输入
$ git config --global --edit
就可以通过安装时指定的文本编辑器打开配置文件,其中 [user]标签下方的name和email就是你设置的用户名和邮件地址。
*2.2 设置快捷命令
接着上一节打开的config文档,在下方空白处新建[alias]标签,在下方填入
ci = commit
co = checkout
st = status
br = branch
unstage = reset HEAD
等式左边的缩写代表等式右边的命令,在终端输入命令时就可以使用这些缩写形式代替右边列出的命令。举个例子:git commit -m "message"的效果和git ci -m "message"的效果是相同的。也可以根据自己的喜好以以上格式添加快捷命令
*2.3 手动指定文本编辑器
接着2.1节打开的config文档,在下方空白处新建[core]标签,在下方填入
editor = 'directory'
其中的directory应替换为你所指定的编辑器的绝对位置(具体目录)。例如,笔者在C盘的program files文件夹里安装了notepad++编辑器,那么文档中是这样的:
editor = 'C:\\Program Files (x86)\\Notepad++\\notepad++.exe' -multiInst -notabbar -nosession -noPlugin
*2.4 添加.gitignore文件
可以从github官方的.gitignore库中clone到本地,以在推送时忽略一些不需要的文件类型,比如visual studio默认生成的项目依赖文件*.sln
3. helloworld
Windows平台:到桌面右键选择git bash here,在弹出的终端中输入,Linux直接在终端操作即可
$ mkdir hellogit #在桌面创建文件夹hellogit
$ git init hellogit #初始化hellogit文件夹为git存储库
$ touch helloworld.txt #在hellogit文件夹中创建helloworld.txt文件
$ notepad helloworld.txt #用windows自带的记事本打开
在打开的文件中随意输入想写的内容,按ctrl+s保存,退出,接下来在终端中输入
$ cd hellogit #加载到hellogit文件夹
$ git add ./ #将当前文件夹的所有内容送至暂存区
$ git status #查看存储库中文件状态,包括新增、删除以及修改
$ git commit -m "initialize of git repo" #将更改提交到master分支,-m "提交信息"不可缺少
$ git log #查看提交历史
至此,你已经完成了本地创建git存储库并提交更改的所有内容
4. 关联到Github
4.1创建SSH Key
在终端输入
$ ssh-keygen -t rsa -C "youremail@example.com" #在用户目录下生成ssh密钥
在C:\用户\你的用户名目录中找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
4.2在github中添加ssh key
登陆GitHub,打开“Account settings”,“SSH Keys”页面,然后,点“Add SSH Key”,标题随意设置,在Key文本框里粘贴id_rsa.pub文件的内容,点“Add Key”,应该就能看到
4.3在github新建存储库
点击右上角加号,选择new repository,在接下来页面中在repository name中输入hellogit(可以勾选Initialize this repository with a README,来直接新建一个叫README的说明文档),点击Create repository,远程存储库就新建完成了
4.4将本地库推送到github
在终端中输入
$ git remote add origin git@github.com:你的用户名/hellogit.git #关联到远端存储库
$ git push -u origin master #第一次提交加上-u参数,即:将本地master分支推送到远程
第一次使用git clone或者git push命令时会出现ssh key警告,输入yes即可
对本地更改后需要依次add、commit -m ""再次提交时只需要输入 git push origin master即可
备注:以上操作均在master分支完成
5. 常用命令总结
init 初始化 ps:在文件夹处右击运行git bash输入git init以初始化
在指定位置创建空仓库
--bare 创建空仓库
clone 克隆 ps:输入git clone 将repo克隆至directory
将repo仓库克隆到本地
将repo仓库克隆至directory
config 配置
add 添加 ps:将存储库中的更改加入暂存区
commit -m "" 提交 ps:提交更改后的文件
status 数据 ps:查看当前工作目录的文件新增、删除、修改状态
log 日志 ps:查看过去commit的记录 添加--graph以查看分支图
reset 重置
--hard ps:恢复到过去的commit版本,可以用reflog命令查询commit记录
HEAD ps:丢弃暂存区的更改
push 推送 ps:可以把当前分支推送,也可以以 origin 的方式将其他分支推送
pull 拉取 ps:从远程库拉取内容
diff HEAD 判断 ps:比较暂存区(stage)与Master(HEAD指针指向)分支的差别
checkout 切换
ps:切换分支
-- file 撤销 ps:撤销在工作区中的某一个文件的修改 “--”不可缺少
branch 分支 ps:查看当前分支,创建新分支
-d ps:删除指定的分支
merge 合并 ps:合并分支到当前分支
tag 标签 ps:为某一个分支打上标签,常打版本号v1.0等
show 标签 ps:比如show 能展示被打上tag的分支的commit信息
要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
备注:
git命令复习