RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
git命令行命令(1)

我们知道git是分布式的版本库,也就是本地仓库里面包含了开发的所用内容,每个人都是本地版本库的主人,包括历史记录、文件内容。即使没有和远程代码库交换依旧可以提交内容到本地仓库,然后git push到远程仓库。
可以使用git $commit --help查看每个命令的html帮助文档,例如git init --help

我们提供的服务有:做网站、成都网站制作、微信公众号开发、网站优化、网站认证、润州ssl等。为千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的润州网站制作公司

一. 创建本地仓库

git init可以在本地创建一个空的本地仓库。其常用命令行如下,
git init [-q | --quiet] [--bare] [directory]

  • -q| --quiet :创建过程中只输出警告或者错误级别的信息
  • --bare是表示创建的版本库是裸版本库,也就是不包含工作空间,只有.git目录下面内容的仓库,一般用作服务器上的远程仓库。
  • directory为本地仓库的目录

二.配置本地仓库

当我们有了本地仓库以后,需要对这个仓库配置,需要配置用户名和用户的email和其他的配置。
git config命令提供了三种级别的配置。分别是:

  • --global:用户级别。其修改的配置文件的内容在~/.gitconfig文件中,如果是windows系统就在C:\Users\$用户名 的目录下
  • --system:适用于所用的用户,其修改的配置文件在etc/gitconfig文件中,如果是windows系统,一般修改在git的安装目录下,例如$GIT_INSTALL_DIR\mingw64\etc\gitconfig
  • --local:适用范围为本版本库,其修改的配置文件在本地仓库的.git/config文件中,也是git config修改的默认范围。
    在使用git命令配置的时候,其配置文件的优先级为local>global>system,可以使用git config --list --show-origin查看每个配置项所在的文件

    1.设置配置

git config [--add] name value                ---添加或者修改配置项,默认的使用范围为本地仓库,可以使用--global、--system来指定范围,
                                                                        例如 git config user.name fenglxh、git config user.email fenglxh@126.com
git config --unset name                           --取消该配置项,同样可以使用--global、--system来指定范围,

2.显示配置

使用git config [-l|--list]显示配置

3.配置命令别名

git存在大量命令,可以对我们经常使用命令,而且命令比较长的命令设置一个别名,也就是一个简写。
别名的配置也需要使用config命令,比如给 git status 设置别名 st:

git config alias.st status                -----以alias.开头
git config --global alias.lg "log --color --graph --oneline --abbrev-commit"

这样我们以后使用的时候,直接用 git st 就可以做 git status 的事了。

三.修改本地仓库

使用版本管理最常用的操作就是提交代码,不过对git来说,如果我们修改了文件内容提交的话必须先使用git add命令,然后才能使用git commit命令提交到本地仓库。

1. git add

git add命令是把修改提交到暂存区中。

git add -A                   -----------懒人模式,把工作目录下所有的更改提交到,包括删除、添加、修改文件
git add gameoflife-acceptance-tests/\*.java -----------------------------把某个目录下的所有java后缀的文件提交
git add *.java                              ------------------------------提交所有的java后缀的文件

2.git rm

git rm命令是把暂存区中的添加删除,命令基本和git add相反,都是修改的暂存区

git rm --cached hello-word/README                   ---------------把 hello-word/README从暂存区移除
git rm -f hello-word/README                              ---------------把hello-word/README从暂存区移除,同时删除工作目录下的该文件
git rm --cached Documentation/*.txt                   ---------------把Documentation下的所有的txt文件从暂存区移除

3.git commit

git commit命令是提交暂存区中的修改。

git commit -m "commit message"          --------------带有提交注释的提交
git commit --allow-empty -m "This is a empty commit"             ----------当暂存区没有变化的时候,是提交失败的,可以加上 --allow-empty运行空提交,此时这两个提交的tree对象指向同一个。

4.git stash

当我们修改了工作区的内容,但是还不能提交,此时需要更新代码的时候,可以把本地的修改存储,使用git stash命令。这样就会把工作区的修改(不包括新增)保存,并把工作区的内容切换到HEAD指向的提交中,这样又是一个干净的工作区了。

git stash ---------------存储
git stash pop -------------弹出存储
git stash list  --------显示所有的存储

实现原理:
当我们使用git stash命令的时候,会生成.git/refs/stash文件,其内容为stash的 sha1信息。可以通过git cat-file查看这个SHA1的信息,会发现这个sha1是以当前的SHA1和工作区提交(创建的一个提交对象)为父提交。
git命令行命令(1)
注:SHA-Stash为.git/refs/stash文件中保存的sha1。sha-temp为工作区的提交

当我们多次运行git stash的时候,.git/refs/stash文件中的sha永远执行最近执行的stash对应的sha。在.git\logs\refs/stash文件中按顺序保存所有的stash命令对应的sha

四.查看仓库

1.git status

显示工作目录下的状态。

当我们不存在工作目录修改的时候执行输出如下信息:
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
随便对其中的某个文件修改,但是不提交暂存区:
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
  (use "git add ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

        modified:   pom.xml

no changes added to commit (use "git add" and/or "git commit -a")
此时我们把修改提交到缓存区,再查看状态,会发现暂存区发生了变化。
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
  (use "git reset HEAD ..." to unstage)

        modified:   pom.xml
此时我们再修改该文件,但是不执行git add命令。
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
  (use "git reset HEAD ..." to unstage)

        modified:   pom.xml

Changes not staged for commit:
  (use "git add ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

        modified:   pom.xml
会发现提示pom.xml文件修改了出现两个地方,一个是暂存区的修改,一个是工作目录的修改。而且其提示颜色并不相同

我们可以使用git status -s命令查看统计的信息(工作区的修改使用红色字体,绿×××字体是暂存区的修改)。
git命令行命令(1)

2.git diff

git diff命令显示工作区、提交、暂存区的差异

$ git diff                                         ------显示工作空间和暂存区的差异
diff --git a/pom.xml b/pom.xml
index 0ec4374..3f64500 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@                                     ----文件的第十行开始的起航
     
         SNAPSHOT
         UTF-8
-        1.4
+        1.5
         2.6
         
         1.7
@@ -178,6 +178,12 @@
                 ${easyb.version}
                 test
             
+                        
+                dom4j
+                dom4j
+                1.6.2
+                test
+            
         
     
     

$git add pom.xml  ------------------------提交到暂存区
$git diff --cached      ----------------------比较暂存区和提交的差异

3.git log

git log命令可以查看提交的信息。

git log -1              ----------------可以查看最近的一次提交,-N表示最近的N次提交
git log --oneline -N     --------------提交以一行信息显示,等于--pretty=oneline
git log --graph               -----------以图形的方式展示提交树
git log --stat                  -----------------展示提交的汇总信息

git log的精细化输出,--pretty选项。使用--pretty选项可以精细化输出commit的所有信息。

git log --oneline         --------------等价于git log --pretty=oneline输出内容为 
git log --pretty=short            ------------输出内容为<sha1>
                                                                            <author>
                                                                            <title line>
git log --pretty=medium/full/fuller/email
git log --pretty=raw        暂时提交的树、父提交等比较全的信息</code></pre><p>git --pretty=format:<string> 其中string是可以格式化的,支持占位符。常用的占位符如下:</p><ul><li>%H: commit hash        -----提交的SHA</li><li>%h: abbreviated commit hash         ----提交的SHA简写形式</li><li>%P: parent hashes                   ----------父提交的SHA</li><li>%p: abbreviated parent hashes     ----------父提交的SHA简写形式</li><li>%an: author name           -----作者名字</li><li>%ae: author email</li><li>%ar: author date, relative</li><li>%n: newline</li><li>%%: a raw %-----%自身</li><li>%s: subject   ---提交注释<br/>例如:
<pre><code>git log --pretty=format:"The author of %h was %an, %ar%nThe title was >>%s<<%n" -------输出大概如下:
The author of fe6e0ee was Junio C Hamano, 23 hours ago
The title was >>t4119: test autocomputing -p<n> for traditional diff input.<<</code></pre>
<h4>4.git grep</h4><p>git grep命令可以根据模式按行查找内容。支持的pattern类型如下:--basic-regexp, --extended-regexp, --fixed-strings, or --perl-regexp。默认为basic-regexp</p><pre><code>git grep 'time_t' -- '*.[ch]'
git grep -E 'public (class|interface) \w+[0-9]+' --------查找所有的java的类名包含数字的类
git grep -F 'fixed string'</code></pre>
<h4>5.git blame</h4><p>git blame可以查找文件每一行的提交信息,追溯文件的内容。<br/>git blame xxx.txt</p></li></ul>            
            
                                                            <br>
                                                网页名称:git命令行命令(1)                                                <br>
                                                网页地址:<a href="http://lswzjz.com/article/gsdsei.html">http://lswzjz.com/article/gsdsei.html</a>
                                            </div>
                                            <div class="hot_new">
                                                <div class="page_title clearfix">
                                                    <h3>其他资讯</h3>
                                                </div>
                                                <div class="news_list clearfix">
                                                    <ul>
                                                        <li>
                                                                <a href="/article/dcgspsh.html">免费代理服务器安全 免费代理服务器网址和端口</a>
                                                            </li><li>
                                                                <a href="/article/dcgspgo.html">sap是erp系统的简单介绍</a>
                                                            </li><li>
                                                                <a href="/article/dcgspdh.html">Java聊天室代码和论文 java聊天室代码和论文的关系</a>
                                                            </li><li>
                                                                <a href="/article/dcgspgd.html">宝德服务器安全性浪潮 宝德服务器安装2008r2系统</a>
                                                            </li><li>
                                                                <a href="/article/dcgspes.html">包含sap报废系统的单据删除的词条</a>
                                                            </li>                                                    </ul>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<!-- 底部信息 -->
<div class="footer wow fadeInUp">
    <div class="rowFluid">
        <div class="span12">
            <div class="container">
                <div class="footer_content">
                    <div class="span4 col-xm-12">
                        <div class="footer_list">
                            <div class="span6">
                                <div class="bottom_logo"><img src="/Public/Home/images/ewm.jpg" alt="微信服务号二维码" /></div>
                            </div>
                            <div class="span6 col-xm-12">
                                <div class="quick_navigation">
                                    <div class="quick_navigation_title">快速导航</div>
                                    <ul>
                                       <li><a href="http://www.76089.cn/" title="成都翻译公司" target="_blank">成都翻译公司</a></li><li><a href="https://www.cdcxhl.com/" title="成都做网站" target="_blank">成都做网站</a></li><li><a href="https://www.cdcxhl.com/pinpai.html" title="品牌网站建设" target="_blank">品牌网站建设</a></li><li><a href="http://www.mswzjz.cn/" title="攀枝花网站建设" target="_blank">攀枝花网站建设</a></li><li><a href="http://www.qlmbz.com/" title="木包装箱" target="_blank">木包装箱</a></li><li><a href="http://www.jnxishu.com/" title="成都娃娃鱼" target="_blank">成都娃娃鱼</a></li><li><a href="https://www.scvps.cn/" title="注册域名" target="_blank">注册域名</a></li>                                    </ul>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="span4 col-xm-6 col-xs-12">
                        <div class="footer_list">
                            <div class="footer_link">
                                <div class="footer_link_title">友情链接</div>
                                <ul id="frientLinks">
                                    <a href="https://www.cdcxhl.com/" title="网站制作" target="_blank">网站制作</a>
                                    <a href="https://www.cdcxhl.com/" title="网站建设" target="_blank">网站建设</a>
                                    <a href="https://www.cdxwcx.com/tuiguang/" title="成都网络推广" target="_blank">网络推广</a>
                                    <a href="http://seo.cdkjz.cn/" title="成都网站推广" target="_blank">网站推广</a>
                                    <a href="https://www.cdcxhl.com/xiaochengx.html" title="成都微信小程序开发" target="_blank">小程序开发</a>
                                    <a href="https://www.cdcxhl.com/menu.html" title="创新互联网站栏目导航" target="_blank">网站导航</a>
                                </ul>
                                <div class="footer_link_title">网站建设</div>
                                <ul id="frientLinks">
                                    <li><a href="/">乐山大橙子建站</a></li>
                                    <li><a href="https://www.cdcxhl.com/menu.html" title="创新互联网站栏目导航" target="_blank">网站导航</a></li>
                                </ul>
                            </div>
                        </div>
                    </div>
                    <div class="span4 col-xm-6 col-xs-12">
                        <div class="footer_list">
                            <div class="footer_cotact">
                                <div class="footer_cotact_title">联系方式</div>
                                <ul>
                                    <li><span class="footer_cotact_type">企业:</span><span class="footer_cotact_content">青羊区大橙子信息咨询工作室</span></li>
                                    <li><span class="footer_cotact_type">地址:</span><span class="footer_cotact_content">成都市青羊区太升南路288号</span></li>
                                    <li><span class="footer_cotact_type">电话:</span><span class="footer_cotact_content"><a href="tel:18980820575" class="call">18980820575</a></span></li>
                                    <li><span class="footer_cotact_type">网址:</span><span class="footer_cotact_content"><a href="/" title="乐山网站建设">www.lswzjz.com</a></span></li>
                                </ul>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="copyright">
                <p>公司名称:青羊区大橙子信息咨询工作室   联系电话:18980820575</p>
                <p><a href="http://beian.miit.gov.cn" target="_blank" rel="nofollow">网站备案号:蜀ICP备2022028542号-13</a></p>
                <p>乐山大橙子建站 乐山网站建设 乐山网站设计 乐山网站制作 <a href="http://www.cdxwcx.cn/" target="_blank">成都做网站</a></p>
            </div>
        </div>
    </div>
</div>
</body>
</html>
<script>
    $(".technical_support_box_z_info_box img").each(function(){
        var src = $(this).attr("src");    //获取图片地址
        var str=new RegExp("http");
        var result=str.test(src);
        if(result==false){
            var url = "https://www.cdcxhl.com"+src;    //绝对路径
            $(this).attr("src",url);
        }
    });
    window.onload=function(){
        document.oncontextmenu=function(){
            return false;
        }
    }
</script>