Git基础使用教程-连接github

Git下载与安装


下载完成后可以得到如下安装文件:

Git基础使用教程(连接github/gitee)_git


双击下载的安装文件来安装Git。

一直下一步直到安装完成即可

安装完成后在电脑桌面(也可以是其他目录)点击右键,如果能够看到如下两个菜单则说明Git安装成功。

Git GUI:Git提供的图形界面工具

Git Bash:Git提供的命令行工具

点击Git GUI进入Git控制界面

设置

设置用户信息

git config --global user.name “输入名称”

git config --global user.email “输入email”

Git基础使用教程(连接github/gitee)_推送_02

查看配置信息
git config --list
git config user.name

通过上面的命令设置的信息会保存在~/.gitconfig文件中

基本用法

创建版本库

版本库就是我们所说的“仓库”(repository),你可以理解为一个目录,这个目录里面的所有文件都可以被Git管理,文件的修改,删除Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。

下面是在我的电脑→D盘→work文件下,创建一个名为lianxi的版本库:

在进入work目录中,点击右键打开Git GUI:窗口.

Git基础使用教程(连接github/gitee)_github_03


cd:进入某个目录

mkdir:创建一个文件

pwd:显示当前的目录路径

执行命令git init,将这个目录变为git可以管理的仓库

Git基础使用教程(连接github/gitee)_推送_04

添加文件到版本库

在本地目录下创建使用到的文件,如1.txt。

然后将创建的文件添加到暂存区,然后提交到仓库。

Git基础使用教程(连接github/gitee)_git_05


git add:将文件提交到暂存区

git commit -m:将暂存区文件提交到仓库(单引号内为注释)

git status:检查当前文件状态

查看文件是否被修改

修改1.txt的文件,然后重新git status:

Git基础使用教程(连接github/gitee)_推送_06


git status:检查当前文件状态

git diff:查看文件修改的内容

查看及变更历史修改记录

本地历史修改记录

查看历史记录 git log

Git基础使用教程(连接github/gitee)_git_07


Git基础使用教程(连接github/gitee)_github_08


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 版本号:回退到该版本号对应的版本

获得远程仓库历史修改记录

  1. 查看所有分支:git branch -a
  2. 查看远程分支log: git log remotes/origin/远程分支名
  3. Git基础使用教程(连接github/gitee)_推送_09

将本地文件推送到github仓库

检查文件是否还有未提交或者修改的,然后将文件提交到github仓库

Git基础使用教程(连接github/gitee)_推送_10


git remote add origin https://github.com/xxxxxxx/xxxxxx.git是将你本地的仓库和github仓库进行关联,在操作时候,需要将github地址替换为自己的。

github地址在你仓库的Code下的HTTPS

Git基础使用教程(连接github/gitee)_git_11

拉取工程

拉取当前最新版本

git pull 是从远程仓库获取最新版本并merge到本地仓库。

git pull origin feature

下拉远程仓库feature的工程到本地

查看指定版本

  1. 首先我们查看版本信息
 git log
  1. 然后复制我们想查看的版本对应哈希值
    按Q即可直接退出
    3.转到指定的版本
    git checkout [上一步复制下来的版本对应哈希值]
    之后我们就可以查看当前版本工程了
    注:使用git checkout master可以重回主分支当前版本
如果遇到问题【Git-error】Your local changes to the following files would be overwritten by checkout

解决方法

  1. 方法:发起一个commit 存到提交历史
git add .
git commit -m "commit message"
  1. 未跟踪文件的内容改动不重要,放弃修改
git clean -n         //这个是清除文件预览
git clean -f //强制清除文件

推送

Git基础使用教程(连接github/gitee)_github_12


第一次推送master分支时,加上了 –u参数,Git会将本地的master分支内容推送的远程新的master分支,还会把2个master分支关联起来,在以后的推送或者拉取时就可以简化操作。

如果推送到其他分支,但本地分支是master,则是如下语句(本地分支是master,远程是feature)

:feature

推送成功后,可以立刻在github页面中看到远程库的内容已经和本地一模一样了,登录你的github,从仓库中查看,发现已经和本地的保持一致。之后,只要本地做了修改提交,就可以使用git push origin master命令进行文件推送。

项目版本

像其他版本控制系统(VCS)一样,Git 可以给仓库历史中的某一个提交打上标签,以示重要。 比较有代表性的是人们会使用这个功能来标记发布结点( v1.0 、 v2.0 等等)。 在本节中,你将会学习如何列出已有的标签、如何创建和删除新的标签、以及不同类型的标签分别是什么。
补充:就是说你在某一个分支上打了一个标签,再切到另外的分支上去,这个标签还是存在的,只是对应的是这个标签之前的commit,相当于是一个时间快照,他可以横跨标签,所以这就是它的灵活性。

本地打tag

  1. 我们首先可以查看目前所有的版本
git tag

Git基础使用教程(连接github/gitee)_git_13

  1. 查看标签和它的备注
git tag -l -n

Git基础使用教程(连接github/gitee)_github_14


3. 查看线上代码库的标签

git ls-remote --tags
  1. 查看具体某一个标签
-l "v4.0.0*"
  1. 创建标签
    Git 支持两种标签:轻量标签(lightweight)与附注标签(annotated),本文以附注标签为例
git tag -a v4.0.0 -m "备注信息"
  1. 通过使用 git show 命令可以看到标签信息和与之对应的提交信息
git show v4.0.0

推送标签

  1. 默认情况下,git push 命令并不会传送标签到远程仓库服务器上。 在创建完标签后你必须显式地推送标签到共享服务器上。 这个过程就像共享远程分支一样——你可以运行 git push origin 。
git push origin v4.0.0

Git基础使用教程(连接github/gitee)_github_15


2. 如果想要一次性推送很多标签,也可以使用带有 --tags 选项的 git push 命令。 这将会把所有不在远程仓库服务器上的标签全部传送到那里。

git push origin --tags

现在,当其他人从仓库中克隆或拉取,他们也能得到你的那些标签。

删除标签(修改标签)

一般情况下,修改标签对应的项目版本,都是选择直接删除这个标签,然后创建一个标签,将对应的项目号和他对应起来,实现修改。

  1. 要删除掉你本地仓库上的标签,可以使用命令 git tag -d 。 例如,可以使用以下命令删除一个轻量标签:
$ git tag -d v4.0.3
Deleted tag 'v4.0.3' (was 7caefe0)

注意上述命令并不会从任何远程仓库中移除这个标签,你必须用 git push :refs/tags/ 来更新你的远程仓库:
第一种变体是 git push :refs/tags/ :

$ git push origin :refs/tags/v4.0.3
remote: Powered by GITEE.COM [GNK-6.4]
To https://gitee.com/xxxxxxxxx
- [deleted] v4.0.3

上面这种操作的含义是,将冒号前面的空值推送到远程标签名,从而高效地删除它。
第二种更直观的删除远程标签的方式是:

git push origin --delete <tagname>

创建分支

创建my1分支: ​​git branch my1​​​ 切换my1分支: ​​git checkout my1​​ 创建并切换my1分支: ​​git checkout -b my1​​ 更新master主线上的东西到该分支上:​​git rebase master​​ 推送本地的my1分支到远程的feature分支:​​git push origin my1:feature​