<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                用[git grep](http://www.kernel.org/pub/software/scm/git/docs/git-grep.html)?命令查找Git庫里面的某段文字是很方便的. 當然, 你也可以用unix下的'grep'命令進行搜索, 但是'git grep'命令能讓你不用簽出(checkout)歷史文件, 就能查找它們. 例如, 你要看 git.git 這個倉庫里每個使用'xmmap'函數的地方, 你可以運行下面的命令: ~~~ $ git grep xmmap config.c: contents = xmmap(NULL, contents_sz, PROT_READ, diff.c: s->data = xmmap(NULL, s->size, PROT_READ, MAP_PRIVATE, fd, 0); git-compat-util.h:extern void *xmmap(void *start, size_t length, int prot, int fla read-cache.c: mmap = xmmap(NULL, mmap_size, PROT_READ | PROT_WRITE, MAP_PRIVATE, refs.c: log_mapped = xmmap(NULL, mapsz, PROT_READ, MAP_PRIVATE, logfd, 0); sha1_file.c: map = xmmap(NULL, mapsz, PROT_READ, MAP_PRIVATE, fd, 0); sha1_file.c: idx_map = xmmap(NULL, idx_size, PROT_READ, MAP_PRIVATE, fd, 0); sha1_file.c: win->base = xmmap(NULL, win->len, sha1_file.c: map = xmmap(NULL, *size, PROT_READ, MAP_PRIVATE, f sha1_file.c: buf = xmmap(NULL, size, PROT_READ, MAP_PRIVATE, fd, 0); wrapper.c:void *xmmap(void *start, size_t length, ~~~ 如果你要顯示行號, 你可以添加'-n'選項: ~~~ $>git grep -n xmmap config.c:1016: contents = xmmap(NULL, contents_sz, PROT_READ, diff.c:1833: s->data = xmmap(NULL, s->size, PROT_READ, MAP_PRIVATE, fd, git-compat-util.h:291:extern void *xmmap(void *start, size_t length, int prot, int read-cache.c:1178: mmap = xmmap(NULL, mmap_size, PROT_READ | PROT_WRITE, MAP_ refs.c:1345: log_mapped = xmmap(NULL, mapsz, PROT_READ, MAP_PRIVATE, logfd, 0); sha1_file.c:377: map = xmmap(NULL, mapsz, PROT_READ, MAP_PRIVATE, fd, 0); sha1_file.c:479: idx_map = xmmap(NULL, idx_size, PROT_READ, MAP_PRIVATE, fd sha1_file.c:780: win->base = xmmap(NULL, win->len, sha1_file.c:1076: map = xmmap(NULL, *size, PROT_READ, MAP_PR sha1_file.c:2393: buf = xmmap(NULL, size, PROT_READ, MAP_PRIVATE, fd wrapper.c:89:void *xmmap(void *start, size_t length, ~~~ 如果我們想只顯示文件名, 我們可以使用'--name-onley'選項: ~~~ $>git grep --name-only xmmap config.c diff.c git-compat-util.h read-cache.c refs.c sha1_file.c wrapper.c ~~~ 我們可以用'-c'選項,可以查看每個文件里有多少行匹配內容(line matches): ~~~ $>git grep -c xmmap config.c:1 diff.c:1 git-compat-util.h:1 read-cache.c:1 refs.c:1 sha1_file.c:5 wrapper.c:1 ~~~ 現在, 如果我們要查找git倉庫里某個特定版本里的內容, 我們可以像下面一樣在命令行末尾加上標簽名(tag reference): ~~~ $ git grep xmmap v1.5.0 v1.5.0:config.c: contents = xmmap(NULL, st.st_size, PROT_READ, v1.5.0:diff.c: s->data = xmmap(NULL, s->size, PROT_READ, MAP_PRIVATE, fd, v1.5.0:git-compat-util.h:static inline void *xmmap(void *start, size_t length, v1.5.0:read-cache.c: cache_mmap = xmmap(NULL, cache_mmap_size, v1.5.0:refs.c: log_mapped = xmmap(NULL, st.st_size, PROT_READ, MAP_PRIVATE, logfd v1.5.0:sha1_file.c: map = xmmap(NULL, st.st_size, PROT_READ, MAP_PRIVATE, fd, v1.5.0:sha1_file.c: idx_map = xmmap(NULL, idx_size, PROT_READ, MAP_PRIVATE, fd v1.5.0:sha1_file.c: win->base = xmmap(NULL, win->len, v1.5.0:sha1_file.c: map = xmmap(NULL, st.st_size, PROT_READ, MAP_PRIVATE, fd, v1.5.0:sha1_file.c: buf = xmmap(NULL, size, PROT_READ, MAP_PRIVATE, fd ~~~ 我可以看到"1.5.0版"和當前版本間一些區別: 在“1.5.0版"中, xmmap沒有在wrapper.c中出現. 我們也可以組合一些搜索條件, 下面的命令就是查找我們在倉庫的哪個地方定義了'SORT_DIRENT'. ~~~ $ git grep -e '#define' --and -e SORT_DIRENT builtin-fsck.c:#define SORT_DIRENT 0 builtin-fsck.c:#define SORT_DIRENT 1 ~~~ 我不但可以進行“與"(_both_)條件搜索操作,也可以進行"或"(_either_)條件搜索操作. ~~~ $ git grep --all-match -e '#define' -e SORT_DIRENT builtin-fsck.c:#define REACHABLE 0x0001 builtin-fsck.c:#define SEEN 0x0002 builtin-fsck.c:#define ERROR_OBJECT 01 builtin-fsck.c:#define ERROR_REACHABLE 02 builtin-fsck.c:#define SORT_DIRENT 0 builtin-fsck.c:#define DIRENT_SORT_HINT(de) 0 builtin-fsck.c:#define SORT_DIRENT 1 builtin-fsck.c:#define DIRENT_SORT_HINT(de) ((de)->d_ino) builtin-fsck.c:#define MAX_SHA1_ENTRIES (1024) builtin-fsck.c: if (SORT_DIRENT) ~~~ 我們也可以查找出符合一個條件(term)且符合兩個條件(terms)之一的文件行. 例如我們要找出名字中含有‘PATH'或是'MAX'的常量定義: ~~~ $ git grep -e '#define' --and \( -e PATH -e MAX \) abspath.c:#define MAXDEPTH 5 builtin-blame.c:#define MORE_THAN_ONE_PATH (1u<<13) builtin-blame.c:#define MAXSG 16 builtin-describe.c:#define MAX_TAGS (FLAG_BITS - 1) builtin-fetch-pack.c:#define MAX_IN_VAIN 256 builtin-fsck.c:#define MAX_SHA1_ENTRIES (1024) ... ~~~ > 譯者注: 就是"與"條件搜索和"或"條件搜索可以組合使用。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看