gitd的学习和使用

1. git是什么

Git 是一款源代码管理工具(版本控制工具), 咱们写的代码须要使用 git 去管理。管理工具备不少 如SVN vss  vcs 等 咱们学习的是 git。git

2.git 的安装

2.1  前往git官网下载git软件 网址:https://git-scm.com/download/win  github

2.2 直接双击安装便可。点击下一步,不修改任何设置 ,知道安装开始 ,就自动安装服务器

2.3 安装完成以后,在桌面任意位置右键单击,看到git 的图标(以下图),证实git 安装成功。                                        ssh

                                                                                                                                                             

                          

2.4  Git GUI Here  是git 的图形化操做界面    Git Bash Here 是git 命令输入窗口编辑器

3. git 的使用

3.1初始化 Git 仓库(这个仓库存放的是咱们的项目代码进行备份的文件)

在项目目录中右键单击,选择Git Bash Here 后单击打开命令窗口,输入命令: git init  回车.  这是就会建立一个 .git 的隐藏文件夹,他里面储存咱们备份的文件。此时咱们就能够在项目文件中开始写代码了。ide

3.2配置使用者的用户名和邮箱(配置我的信息)

每一次备份 都会把备份者的信息储存起来   --global表示全局配置,即配置一次就能够工具

配置用户名: git config --global user.name "zhangsan"        配置邮箱: git config --global user.email "zhangsan@sina.com“” 学习

3.3把代码储存到 git 仓库中

3.3.1  先把代码放到仓库的大门口  命令: git add “文件的路径”  例如:git add "./readme.md    意思是把当前目录下的 readme.md 文件放到git 仓库的大门口idea

3.3.2  把大门口文件放到仓库的里面 命令: git commit  -m "这是咱们完成的第一个功能” , git commit 就是无论咱们仓库门口有多少文件,此时会所有都将门口的文件放到仓库里面, -m 的做用是对这次放入到仓库代码的一个说明,m 是message 的意思,后面的说明内容须要用引号包裹。当出现以下图片的提示,说明咱们的文件已经成功放到git 仓库。spa

                                   

3.3.3 当咱们项目中有多个文件修改时,须要储存到git 仓库, 咱们可使用 git add ./  来提交到仓库大门口(暂存区) ./ 表示项目文件夹下全部修改过的文件和新建的文件。例:

                                        

3.3.4 咱们每次都要执行 git add 文件路径  比较繁琐 这时  咱们只须要执行 git commit --all -m "这是一次性把代码放到仓库中(版本库)", all 表示全部的修改过的文件

                                      

 

3.4 工做区、暂存区、版本库的概念

当咱们执行代码 git add 的时候 把代码放到仓库大门口,大门口就被称做为暂存区。咱们的项目文件中被称做为工做区(不包含 .git)。当咱们执行git commit 命令时,是把文件放到仓库的里面,这里面被称为版本库

3.5 git status 命令查看状态 (查看咱们的代码是否放到了git 仓库中)

 当咱们了代码后,尚未执行放到git仓库的命令时(没有放到仓库大门口时,没执行git add),咱们执行命令git status,有以下提示

                        

 当咱们了代码后,而且将代码放到git仓库的大门口时(放到仓库大门口时,执行git add可是没实行git commit),咱们执行命令git status,有以下提示

                      

 当咱们了代码后,而且已经将代码彻底放到git仓库时(已经执行过git commit -m " "),咱们执行命令git status,有以下提示

                     

3.6 gitignore 设置忽略文件

 在gitignore 在这个文件中能够设置要被忽略的文件或者目录,忽略的文件就不会提交到 git 仓库中。  在 .gitignore 文件中能够书写被忽略文件的路径,以 / 开头,一行写一个路径,这些路径所对应的文件都会被忽略,不会被提交到仓库。如:  /.idea  (.idea文件被忽略)   /js  (在js文件夹下的全部文件都会忽略)  /js/*.js (在JS文件夹下的全部js文件都会忽略)

3.7 git 日志查看

 查看咱们提交过多少次代码 命令: git log

经过git log --oneline   能够查看简介版本的日志  

                    

3.8 git 版本回退、  git reflog 查看版本操做记录

回退到指定的版本 命令: git reset --hard Head~0   表示会退到上一次代码提交的状态, 0 表明索引     

咱们还能够经过版本号实现回退 命令: git reset --hard b42839c   表示回退到版本号为b42839c 的那次提交的代码,例如

           

若是不当心咱们关闭了 git 命令窗口 当咱们再次打开时,git log --oneline 的版本日子都被清空了 咱们没法记住不少版本号 这时就须要 命令: git reflog  它能够看到每一次版本切换的记录,能够看到全部提交的版本号:

                                                            

3.9 git 建立分支, 查看/切换/合并 分支的操做

当咱们在建立一个功能未完成时,可是有须要储存到git仓库时,咱们能够本身建立一个分支(只有本身可使用),命令: git branch dev(或者是 git checkout -b dev)   意思是咱们建立了一个叫dev 的分支。在刚建立时 dev分支里面的东西(咱们提交的代码)和 master 分支里面的东西是同样的。

查看分支: 经过命令: git branch  这是会显示咱们建立的分支和主枝干(master) ,那个前面带有 星号※,表示是咱们当前正处于的那个枝干,如图:

    

 切换分支:  命令 git checkout  分支名  例如:git checkout dev (切换到dev分支)  git checkout master (切换到master主分支)。

注意:若是咱们的功能未完成就须要提交到git仓库时,咱们必须先切换到本身建立的分支,而后再执行 git add 文件路径 去提交,这样才能提交到本身建立的分支上

    

合并分支: 命令: git merge dev 此命令是在master分之下执行 表示把 dev 分支合并到 master上。在别的分支下也可执行,表示 git branch 命令输出的前面带有 * 的分支与merge后面跟的分支合并。

注意: 若是咱们想把分支提交的代码合并到主分支(master)上面,供你们一块儿使用,则须要先将分支经过 git checkout mater 切换到主分支上,而后经过git add ./.....再提交代码

                              

删除分支:  git branch -d 要删除的分支的名称  例如: git branch -d dev (删除的dev 分支)   注意: 该命令不能将要删除的分支下执行,如咱们要删除dev分支,则不能再dev分支下执行该命令,须要切换到主分支(master)或者其余分支

若是咱们在分支和主分支(master)同时作了修改,而后将分支合并到主分支(master)上时,就会出现冲突,如此下图。咱们能够手动处理,如图

                                                                                                                                                         

       

3.10 经过 git push 命令,把本地代码推送到服务器上

咱们能够经过git 把代码上传到 gitHub 的服务器上 ,别人能够随时经过命令去下载。 GitHub网址: https://github.com/ (当作github服务器来用)

建立GitHub仓储:  进入GitHub官网 注册登录后,点击右上角的加号,选择第一项 new repository (建立仓储)。

在命令窗口运行: git push 【地址】 master  这样就会把当前的分支长传到远程的 master 分支

                             示例: git push https://github.com/loverainbowBei/gitDemo.git master

成功上传到GitHub 服务器的样式 以下图:

                                                                 

 

 从远程服务器拿代码(方法1 git pull 【地址】master 当咱们须要从GitHub远程服务器上把别人的代码拿过来本身用时,须要用到 命令: git pull 【地址】master  这里不必定是master 只是master状况较多,这样就把远程的数据获得了(注意: 拿远程数据时,须要如今本地建立一个仓储),屡次执行,数据会合并,不会覆盖

 

      

从远程服务器拿代码(方法2 git clone 【地址】):  会获得远程仓库相同的数据,屡次执行会覆盖本地内容,clone会连同仓库的文件夹一块儿下载下来,通常只有在第一次从远程仓库下载代码时 使用

          

 

3.11  经过ssh 方式上传代码

ssh方式上传代码。 生成公钥 和 私钥,在任意目录下打开命令窗口 命令:ssh-keygen -t rsa -C "邮箱",以下图所示,表示秘钥生成成功:

                                                                            

给GitHub配置ssh 公钥。

打开C盘 -->用户 --> 用户名(我这里是LiRun)-->.ssh文件夹 --> id_rsa(私钥) id_rsa.pub公钥()--> 将公钥文件用编辑器打开 -->复制里面全部代码(字符窜)-->回到GitHub官网单击登陆图标 --> 选择setting --> 左侧菜单栏选择 SSH and GPG keys --> 单击右侧New SSH key 按钮 --> title 名能够随便取 key的输入框中将刚才复制的字符串粘贴进去 -->点击Add SSH key -->SSH key添加完成

把咱们的代码上传到远程服务器,经过ssh方式

和https同样。先单击登陆旁边的加号 --> 选择 new repositry,建立一个新的仓储,-->命名,建立完成 --> 在新建的仓储中选择SSH而且复制其地址 -->  在命令窗口输入 : git push [地址] master --> 上传成功 以下图

 

 注意当多人已开发时,你们都会向GitHub上传代码,一样也会一块儿冲突,须要咱们手动修改,正常状况下咱们先从GitHub上拿到最新的数据,而后本身写了之后,再将代码上传至GitHub,可是咱们修改完代码上传以前,别人又一次将修改的代码上传了GitHub,此时咱们在用git pull 拿到最新的代码时,那么就会形成代码冲突,这是就须要咱们手动修改,冲突的代码还在编辑器都显示(别人刚刚上传的和你本身即将要上传的),咱们决定要留下哪个,而后把不须要的删除,如今本地仓储储存,git add ./  git commit -m " ". 而后再次上传到远程 git push 【地址】master。

 一般咱们在修改完成代码,须要上传服务器时,要先pull,又由于若是服务器的版本和本地的版本不一样,咱们能够先把冲突解决,而后把最新的版本上传(push)至服务器

3.12  pull 和 push 的简写

用一个变量代替服务器地址, 命令 git remote add 变量名 【地址例如git remote add origin git@github.com:loverainbowBei/sshDemo.git

  那么。咱们再pull 或者 push 是 ,就能够写简写为 git pull/push origin master 便可

咱们使用这个命令 git pull / push origin -u master 执行一次时。下一次再 pull 或者 push 时 就能够直接写 git pull 或者 git push 。由于加上 -u 执行一次以后,git 会把当前分支与远程指定的分支进行关联,他就至关于 git pull / push origin master

 

 

0f1db23
相关文章
相关标签/搜索