GIt&GitHub学习笔记

1.本地库初始化

    命令:git init

    效果: 

     

      注意:.git目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡乱修改。

2.设置签名

    命令:  项目级别/仓库级别:仅在当前本地库范围内有效

               git config user.name tom_pro

               git config user.email [email protected]

               信息保存位置:  ./.git/config 文件

               

              系统用户级别: 登录当前操作系统的用户范围

               git config --global user.name tom_glb

               git config --global user.email [email protected] 

               信息保存位置: ~(家目录)/.gitconfig 文件

                

              级别优先级:项目级别优先于系统用户级别  

              二者都没有不允许 

    3.基本操作:

        1)状态查看操作: git status   查看工作区、暂存区状态

        2)添加操作:git add [file name]   将工作区的”新建/修改“ 添加到暂存区

        3)提交操作: git commit -m "commit message" [file name] 将暂存区的内容提交到本地库

        4)查看历史记录:git log       多屏显示控制方式 : 空格向下翻页  b  向上翻页  q   退出

                                     git log --pretty=oneline/git log --oneline(只显示过去)  简洁显示历史记录

                                     git reflog(过去未来都显示)    HEAD@{移动到当前版本需要多少步} 

        5)前进后退: 基于索引值操作[推荐]   git reset --hard [局部索引值]

                              使用^符号: 只能后退

                              git reset --hard HEAD^

                              注:n个^表示后退n步

                              使用~符号:只能后退

                              git reset --hard HEAD~n

                              注: 表示后退n步

        6)reset命令的三个参数对比: 

             --soft参数:仅仅在本地库移动HEAD指针

             --mixed参数:在本库移动HEAD指针并且重置暂存区

             --hard参数: 在本地库移动HEAD指针,重置暂存区和工作区

        7)删除文件并找回

              前提:删除前,文件存在时的状态提交到了本地库。

              操作:git reset -hard HEAD [指针位置]

                         删除操作已经提交到本地库:指针位置指向历史记录

                         删除操作尚未提交到本地库:指针位置使用HEAD

        8)比较文件差异

                  git diff [文件名]   将工作区中的文件和暂存区进行比较

                  git diff[本地库中历史版本] [文件名]  将工作区中的文件和本地库历史记录比较

                  不带文件名,比较多个文件   

    4.分支管理: 

            1)同时并行推进多个功能开发,提高开发效率

            2)各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。

                  失败的分支删除重新开始即可。 

            3)   创建分支: git branch [分支名] 

                  查看分支: git branch -v

                  切换分支:git checkout [分支名]

                  合并分支:   第一步:切换到接收修改的分支(被合并,增加新内容)上  git checkout[将要被合并分支名]                     

                                     第二步:执行merge命令   git merge [外来新内容分支名]

                  解决冲突: 第一步:编辑文件,删除特殊符号

                                     第二步:把文件修改到满意的程度,保存退出

                                     第三步:git add [文件名]

                                     第四步:git commit -m "日志信息"

                                     注意:此时commit一定不能带具体文件名   

      5.  GitHub操作:

                1)  查看当前所有远程地址别名:git remote -v

                2)在本地创建远程库地址别名:git remote add [别名] [远程地址]

                3)推送:git push [别名] [分支名]

                4)克隆:git clone [远程地址]

                      效果:完整的把远程库下载到本地

                                 创建远程库地址别名

                                 初始化本地库

                5)  拉取: pull=fetch+merge

                                 git fetch [远程库地址别名] [远程分支名]

                                 git merge [远程库地址别名]/[远程分支名]

                6)协同开发时冲突的解决:如果不是基于GitHub远程库的最新版所做的修改,不能推送,必须先拉取。

                                                            拉取下来后如果进入冲突状态,则按照"分支冲突解决"操作解决即可。

                7)  跨团队协作:本地修改,然后推送到远程

                                          Pull Request

                                          New pull request

                                          Create pull request

                                          Merge pull request  点击这里合并代码

                                          将远程库修改拉取到本地

                8)SSH免密登录

                        进入到当前用户的家目录

                             cd ~

                        删除.ssh 目录   rm -rvf .ssh

                        生成ssh密钥目录  ssh-keygen -t rsa -C [邮箱地址]

                        进入.ssh目录查看文件列表

                          cd .ssh

                        查看id_rsa.pub文件内容

                            cat id_rsa.pub

                        复制文件内容,登录github,点击用户头像-Settings-SSH and GPG keys

                        New SSH Key

                        输入复制的密钥信息

                        回到Git bash 创建远程地址别名

                        git remote add origin_ssh [SSH克隆地址]  

                        推送文件进行测试 

      6.Eclipse 操作

           1)工程初始化为本地库   工程-右键-Team-Share Project

             勾选 Use or create......,然后Create Repository

           2)Eclipse中忽略文件

                 概念:Eclipse特定文件 这些都是eclispe为了管理我们创建的工程而维护的文件,和开发的代码没有直接关系。

                            最好不要在Git中进行追踪,也就是把它们忽略。

                            .classpath文件   .project文件  .settings目录下所有文件    

                 为什么要忽略Eclipse特定文件呢?

                 因为同一个团队中很难保证大家使用相同的IDE工具,而IDE工具不同时,相关工程特定文件就可能不同。如果这些文件加入版本控制,那么开发时很可能需要为了这些文件解决冲突。

                 在~/.gitconfig文件中引入java.gitignore文件

                 [core]
                          excludesfile = C:/Users/DELL/java.gitignore

                 注意:这里路径一定要是/不能是\  

           3)克隆到本地并生成特定文件:import...-Git-Projects from Git    右键项目-configure-convert to maven project(生成有特定文件的eclipse工程)

 

 

                                

                       

                                 

   

                                                                          

            

                           

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章