Git基础使用教程-连接github
- Git下载与安装
- 设置
- 基本用法
- 拉取工程
- 推送
- 项目版本
Git下载与安装
下载完成后可以得到如下安装文件:
双击下载的安装文件来安装Git。
一直下一步直到安装完成即可
安装完成后在电脑桌面(也可以是其他目录)点击右键,如果能够看到如下两个菜单则说明Git安装成功。
Git GUI:Git提供的图形界面工具
Git Bash:Git提供的命令行工具
点击Git GUI进入Git控制界面
设置
设置用户信息
git config --global user.name “输入名称”
git config --global user.email “输入email”
查看配置信息
git config --list
git config user.name
通过上面的命令设置的信息会保存在~/.gitconfig文件中
基本用法
创建版本库
版本库就是我们所说的“仓库”(repository),你可以理解为一个目录,这个目录里面的所有文件都可以被Git管理,文件的修改,删除Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。
下面是在我的电脑→D盘→work文件下,创建一个名为lianxi的版本库:
在进入work目录中,点击右键打开Git GUI:窗口.
cd:进入某个目录
mkdir:创建一个文件
pwd:显示当前的目录路径
执行命令git init,将这个目录变为git可以管理的仓库
添加文件到版本库
在本地目录下创建使用到的文件,如1.txt。
然后将创建的文件添加到暂存区,然后提交到仓库。
git add:将文件提交到暂存区
git commit -m:将暂存区文件提交到仓库(单引号内为注释)
git status:检查当前文件状态
查看文件是否被修改
修改1.txt的文件,然后重新git status:
git status:检查当前文件状态
git diff:查看文件修改的内容
查看及变更历史修改记录
本地历史修改记录
查看历史记录 git log
git log:获得历史修改记录
git log --pretty=oneline:使记录只显示主要的内容,一行显示
cat:查看文件内容
git reset --hard HEAD^:回退到上个版本
git reset --hard HEAD^^:回退到上上个版本
git reset --hard HEAD~100:回退到回退到100个版本之前
git reflog:获取历史版本号
git reset --hard 版本号:回退到该版本号对应的版本
获得远程仓库历史修改记录
- 查看所有分支:git branch -a
- 查看远程分支log: git log remotes/origin/远程分支名
将本地文件推送到github仓库
检查文件是否还有未提交或者修改的,然后将文件提交到github仓库
git remote add origin https://github.com/xxxxxxx/xxxxxx.git是将你本地的仓库和github仓库进行关联,在操作时候,需要将github地址替换为自己的。
github地址在你仓库的Code下的HTTPS
拉取工程
拉取当前最新版本
git pull 是从远程仓库获取最新版本并merge到本地仓库。
下拉远程仓库feature的工程到本地
查看指定版本
- 首先我们查看版本信息
- 然后复制我们想查看的版本对应哈希值
按Q即可直接退出
3.转到指定的版本
git checkout [上一步复制下来的版本对应哈希值]
之后我们就可以查看当前版本工程了
注:使用git checkout master可以重回主分支当前版本
如果遇到问题【Git-error】Your local changes to the following files would be overwritten by checkout
解决方法
- 方法:发起一个commit 存到提交历史
- 未跟踪文件的内容改动不重要,放弃修改
推送
第一次推送master分支时,加上了 –u参数,Git会将本地的master分支内容推送的远程新的master分支,还会把2个master分支关联起来,在以后的推送或者拉取时就可以简化操作。
如果推送到其他分支,但本地分支是master,则是如下语句(本地分支是master,远程是feature)
推送成功后,可以立刻在github页面中看到远程库的内容已经和本地一模一样了,登录你的github,从仓库中查看,发现已经和本地的保持一致。之后,只要本地做了修改提交,就可以使用git push origin master命令进行文件推送。
项目版本
像其他版本控制系统(VCS)一样,Git 可以给仓库历史中的某一个提交打上标签,以示重要。 比较有代表性的是人们会使用这个功能来标记发布结点( v1.0 、 v2.0 等等)。 在本节中,你将会学习如何列出已有的标签、如何创建和删除新的标签、以及不同类型的标签分别是什么。
补充:就是说你在某一个分支上打了一个标签,再切到另外的分支上去,这个标签还是存在的,只是对应的是这个标签之前的commit,相当于是一个时间快照,他可以横跨标签,所以这就是它的灵活性。
本地打tag
- 我们首先可以查看目前所有的版本
- 查看标签和它的备注
3. 查看线上代码库的标签
- 查看具体某一个标签
- 创建标签
Git 支持两种标签:轻量标签(lightweight)与附注标签(annotated),本文以附注标签为例
- 通过使用 git show 命令可以看到标签信息和与之对应的提交信息
推送标签
- 默认情况下,git push 命令并不会传送标签到远程仓库服务器上。 在创建完标签后你必须显式地推送标签到共享服务器上。 这个过程就像共享远程分支一样——你可以运行 git push origin 。
2. 如果想要一次性推送很多标签,也可以使用带有 --tags 选项的 git push 命令。 这将会把所有不在远程仓库服务器上的标签全部传送到那里。
现在,当其他人从仓库中克隆或拉取,他们也能得到你的那些标签。
删除标签(修改标签)
一般情况下,修改标签对应的项目版本,都是选择直接删除这个标签,然后创建一个标签,将对应的项目号和他对应起来,实现修改。
- 要删除掉你本地仓库上的标签,可以使用命令 git tag -d 。 例如,可以使用以下命令删除一个轻量标签:
注意上述命令并不会从任何远程仓库中移除这个标签,你必须用 git push :refs/tags/ 来更新你的远程仓库:
第一种变体是 git push :refs/tags/ :
上面这种操作的含义是,将冒号前面的空值推送到远程标签名,从而高效地删除它。
第二种更直观的删除远程标签的方式是:
创建分支
创建my1分支: git branch my1
切换my1分支: git checkout my1
创建并切换my1分支: git checkout -b my1
更新master主线上的东西到该分支上:git rebase master
推送本地的my1分支到远程的feature分支:git push origin my1:feature