Git 简介
是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。最初Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而用了两周业余时间开发的一个开放源码的版本控制软件。
俗话说的好,工欲善其事,必先利其器。作为一个程序猿,团队开发是必要的,那么掌握git自然会让你的项目更好维护、合作开发更高效。那么接下来,从头开始好好学起git!
一、Git的安装配置
- 首先:git 安装包下载
- 安装(LZ这里暂时以windows为例)
安装的步骤就不用讲了,很简单跟着提示往下操作就好了。
当你安装好了之后,在桌面或者任何文件目录下右击鼠标,会出现如下图
单击Git Bash Here,就可启动git命令行窗口,这时你就可以通过git命令进行你的操作了。
基本的配置:
配置个人的用户名和电子邮箱地址(向远程仓库push代码时显示的信息)
git config --global user.name "username"
git config --global user.email xxxx@xxx.xxx
查看已有的配置信息
git config --list
如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。不管你的远程版本库是用github,还是gitlab,或者git.oschina.net等等,你提交代码的信息都是你上面设置的这个。
如果要在某个特定的项目中使用其他名字或者电邮,只要去掉** --global** 选项重新配置即可,新的设定保存在当前项目的** .git/config** 文件里。-
配置ssh key
简单说,SSH是一种网络协议,用于计算机之间的加密登录。使用ssh与远程版本库无密码访问。
1.生成ssh key (-C 后面一般是输入你的邮箱)
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"#Generating public/private rsa key pair. #按三次回车即可生成 ssh key
生成的地址是 c:/users/用户名/.ssh。 该目录下有个id_rsa.pub文件,打开将里面的内容copy下来,复制到你的版本库中。操作如下(以github为例):
Settings -> SSH and GPG keys -> New SSH keys
然后输入如下命令测试
ssh -T git@github.com
建立好ssh安全连接后,就不需要每次pull或push输入密码了。(不同的版本库用同一个ssh key也可以)
二、Git常用命令
-
创建git本地仓库
- 方式一
git init # 本地化操作,在任何目录下都可以执行此命令 git remote add origin git@github.com:username/repository.git # 执行该命令,建立与远程仓库的关联,origin为别名
- 方式二(克隆远程项目)
备注1:采用该方式git会自动建立与对应远程仓库的关联git clone git@github.com:username/repository.git
备注2:git clone 项目可以指定分支名git clone -b dev git@github.com:username/repository.git
执行上述操作,建立好git本地仓库后,目录下会多一个.git的隐藏文件,该目录下文件的git数据都存放于此
-
查看已经建立的连接
git remote -v
- 移除本地与远程仓库的关联
git remote rm origin
- 重命名关联名称
git remote rename origin newname
-
同步远程代码
git pull origin dev
-
查看当前文件修改状态
git status
# modified : 修改了的文件
# deleted : 删除了的文件
# Untracked files: : 新增的文件(git未追踪)
-
修改并提交代码
git add xxx.txt
#将新增(或修改)的文件添加到暂存区
git rm xxx.txt
#删除一个文件
git commit -m "first commit"
#添加commit信息
git push -u origin master
#将暂存区文件推送到远程仓库,-u参数是将该分支设置为默认提交分支,
#之后提交不用再添加分支名
刷新远程仓库,就会发现代码已经提交上去了
-
查看所有分支(包括远程仓库)
git branch -a
-
拉取远程分支到本地(并切换)
git checkout -b dev origin/dev
-
从当前本地分支拉取一个新分支
git checkout -b mybranch
#如当前是master分支下,执行此命令会根据master新建一个分支mybranch,并切换到新分支
-
切换分支
git checkout <branchname>
-
删除本地分支
git branch -d <branchname>
-
查看tag
git tag