初识Git 从安装到idea使用

Linux安装

linux下尝试输入 git 命令,看看当前有没有安装git。

git
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git

如果没有安装 linux会提示安装方法。

Windows安装

windows安装很简单,点这里官网下载Git。
下载之后按默认安装就可以。

安装完成后,还需要最后一步设置,在命令行输入(win/ios/linux通用):

git config --global user.name "你的名字或昵称"
git config --global user.email "你的邮箱地址"

ok之后是这个样子(没提示信息就是成功):
在这里插入图片描述

创建版本仓库

仓库内所有文件都归git管理。

进入要作为仓库的文件夹下(win/ios/linux通用),使用命令:

git init

使用成功后这个当前文件夹就成为了git的仓库,同时会生成一个 .git 的隐藏文件夹(是git的版本库,不要删掉!)和svn的 .svn 类似。
初识Git 从安装到idea使用_第1张图片

提交文件

首先你得在仓库里创建一个文件,编辑点内容,然后使用命令:

git add 文件全名(如:aaa.txt)
git commit -m “提交的信息(必填)”

在commit之前可以使用若干次add命令,每一次add的文件就是你将要提交的文件;
提交后如下:
初识Git 从安装到idea使用_第2张图片

版本回退

如果不知道回退到哪个版本可以先使用 git log命令来查看日志;
如下,红色框住的是版本号 每个版本的唯一id。
初识Git 从安装到idea使用_第3张图片
可以通过版本号id来回退版本,通过命令:

$ git reset --hard c61d0549(c61d0549是版本id的前几位即可,但是不能太短因为Git可能会找到多个版本号,就无法确定是哪一个了。)

HEAD:用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
在这里插入图片描述
我吧代码回滚到第一次提交,看看前后效果:

第二次提交的代码:
初识Git 从安装到idea使用_第4张图片
回退到第一次:
初识Git 从安装到idea使用_第5张图片

撤销修改

想要撤销当前工作区文件的修改,使用命令:git checkout -- aaa.txt(注意‘--’ 千万不要漏掉) 来把这个文件回归到最近一次提交的版本;
如下:
初识Git 从安装到idea使用_第6张图片

创建远程库

GitHub官网上申请个账号
设置一个公钥:查看本机ssh公钥,生成公钥(这是csdn的一篇博客,很详细这里直接引用,就不写了)

申请之后进入主页,点击绿色 new 新建一个仓库。
初识Git 从安装到idea使用_第7张图片
给仓库起个名字,然后勾选 Initialize this repository with a README 选项,这样GitHub会自动为我们创建一个README.md文件。创建完毕后,可以看到README.md文件:
初识Git 从安装到idea使用_第8张图片初识Git 从安装到idea使用_第9张图片远程库创建好了,现在把它克隆到本地

点击 clone or download 出来一个路径 复制它

初识Git 从安装到idea使用_第10张图片使用命令:

git clone 刚才复制的路径

还需要输入你注册的账户名和密码,来拉取代码;
如下:
初识Git 从安装到idea使用_第11张图片要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。
Git支持多种协议,包括https,但ssh协议速度最快。

利用上面的提交指令提交一个新文件,然后需要push到远程库,使用命令:

git push origin

然后输入用户名密码

如下:
初识Git 从安装到idea使用_第12张图片初识Git 从安装到idea使用_第13张图片

分支

查看分支:git branch

创建分支:git branch

切换分支:git checkout 或者git switch

创建+切换分支:git checkout -b 或者git switch -c

合并某分支到当前分支:git merge

删除分支:git branch -d

实例:
从创建分支 – 合并删除分支

Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep
$ cd testRep

Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (master)
$ git checkout -b dev
Switched to a new branch 'dev'

Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (dev)
$ git branch
* dev
  master

Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (dev)
$ ls
README.md  test.html

Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (dev)
$ git add test.html

Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (dev)
$ git commit -m "第一次修改文件"
[dev 9c93020] 第一次修改文件
 1 file changed, 1 insertion(+), 1 deletion(-)


Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (dev)
$ git merge dev
Already up to date.


Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (dev)
$ git branch
* dev
  master

Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (dev)
$ git merge dev
Already up to date.

Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (dev)
$ it branch -d dev
bash: it: command not found

Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (dev)
$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.

Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (master)
$ git merge dev
Updating 1fd7f21..9c93020
Fast-forward
 test.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (master)
$ git branch -d dev
Deleted branch dev (was 9c93020).


Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (master)
$ git branch
* master

协作

  1. 查看远程库信息,使用git remote -v
  2. 本地新建的分支如果不推送到远程,对其他人就是不可见的;
  3. 从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
  4. 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
  5. 建立本地分支和远程分支的关联,使用git branch --set-upstream-to=origin/branch-name branch-name
  6. 从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

标签

简介:标签就是版本id(commit id)的别名 比如 12bcdr...  >>   v1.2     
  • 查看所有标签:git tag
  • 新建标签git tag v1.0
  • 指定id规定标签git tag v1.0 884fc6初识Git 从安装到idea使用_第14张图片
  • git show 可以看到说明文字:初识Git 从安装到idea使用_第15张图片
  • 命令git push origin 可以推送一个本地标签;
  • 命令git push origin --tags可以推送全部未推送过的本地标签;
  • 命令git tag -d 可以删除一个本地标签;
  • 命令git push origin :refs/tags/可以删除一个远程标签。

idea使用git

idea是可以图形化的将git,file > new > project from version control > git 克隆一个仓库
初识Git 从安装到idea使用_第16张图片之后会有一个弹窗,url是仓库地址,directory是本地地址,然后点击clone
这些操作就相当于 git clone … 之后会让你输入账号密码。
初识Git 从安装到idea使用_第17张图片
选中项目名右击 > git > repository > branches… 设置分支(正常我们是不会在master上工作的,所以得拉取分支)
初识Git 从安装到idea使用_第18张图片然后选择分支(你工作的分支)> checkout as
初识Git 从安装到idea使用_第19张图片
本地命名,最好和服务器一致。
初识Git 从安装到idea使用_第20张图片
点击ok之后分支就是dev了 然后编辑点文件提交,点击对勾,勾选你要提交的文件,.idea里面的文件别提!!!!去网上查一查idea提交过滤

初识Git 从安装到idea使用_第21张图片
直接提上去远程仓库上是没有的
我本地的
初识Git 从安装到idea使用_第22张图片远程仓库的
初识Git 从安装到idea使用_第23张图片

所以还需要一步,是什么?想一想。。。

想一下git push origin dev 指令的意思^ _ ^

答案是:从本地推送分支,这也是和svn不一样的地方,你commit是成功了,但是是提交到你本地的git服务,你得同步到远程才可以真正提交上去,git push origin dev 就是推送命令,下面是idea版的。

路径:右击项目名 > git > repository > push 就ok了
初识Git 从安装到idea使用_第24张图片
会弹出提示,点击push。
初识Git 从安装到idea使用_第25张图片
来看一下效果:初识Git 从安装到idea使用_第26张图片
现在是一致的了!
End

Git初步学习到此结束,还有很多功能需要探索,如果觉得有用点个赞,如果写的有问题欢迎纠正^ _ ^

你可能感兴趣的:(开发工具,git,github,svn)