美文网首页
git常见命令

git常见命令

作者: 申霖 | 来源:发表于2019-11-20 17:33 被阅读0次

    1、配置信息(初次运行 Git 前的配置)

    git config --global user.name "John Doe"

    git config --global user.email johndoe@example.com

    存储位置:~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。

    2、文本编辑器

    git config --global core.editor emacs

    3、差异分析工具(在解决合并冲突时使用哪种差异分析工具)

    git config --global merge.tool vimdiff

    4、查看配置信息(有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig 和 ~/.gitconfig),不过最终 Git 实际采用的是最后一个。)

    git config --list

    5、查阅某个环境变量的设定

    git config user.name

    6、获取帮助

    git help <verb>

    示例:要学习 config 命令可以怎么用,运行:git help config

    7、在工作目录中初始化新仓库

    git init

    8、在工作目录中初始化新仓库,如果当前目录下有几个文件想要纳入版本控制,需要先用 git add 命令告诉 Git 开始对这些文件进行跟踪,然后提交:

    git add *.c

    git add README

    git commit -m 'initial project version'

    9、从现有仓库克隆

    git clone git://github.com/schacon/grit.git

    10、如果希望在克隆的时候,自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字:

    git clone git://github.com/schacon/grit.git mygrit

    11、检查当前文件状态

    git status

    12、跟踪新文件(单个文件),例如:README 文件

    git add README

    13、暂存已修改文件,例如:README 文件。 git add 命令(这是个多功能命令,根据目标文件的状态不同,此命令的效果也不同:可以用它开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等)

    git add README

    14、忽略某些文件

    创建一个名为 .gitignore 的文件,列出要忽略的文件模式。来看一个实际的例子:

    cat .gitignore

    *.[oa]

    *~

    第一行告诉 Git 忽略所有以 .o 或 .a 结尾的文件。一般这类对象文件和存档文件都是编译过程中出现的,我们用不着跟踪它们的版本。第二行告诉 Git 忽略所有以波浪符(~)结尾的文件,许多文本编辑软件(比如 Emacs)都用这样的文件名保存副本。此外,你可能还需要忽略 log,tmp 或者 pid 目录,以及自动生成的文档等等。要养成一开始就设置好 .gitignore 文件的习惯,以免将来误提交这类无用的文件。

    文件 .gitignore 的格式规范如下:

    所有空行或者以注释符号 # 开头的行都会被 Git 忽略。

    可以使用标准的 glob 模式匹配。

    匹配模式最后跟反斜杠(/)说明要忽略的是目录。

    要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

    所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。星号(*)匹配零个或多个任意字符;[abc] 匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号(?)只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)

    15、.gitignore 文件的例子

    # 此为注释 – 将被 Git 忽略

    # 忽略所有 .a 结尾的文件

    *.a

    # 但 lib.a 除外

    !lib.a

    # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO

    /TODO

    # 忽略 build/ 目录下的所有文件

    build/

    # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

    doc/*.txt

    # 忽略 doc/ 目录下所有扩展名为 txt 的文件

    doc/**/*.txt

    16、查看已暂存和未暂存的更新

    git diff

    17、看已经暂存起来的文件和上次提交时的快照之间的差异

    git diff --cached

    18、提交更新

    git commit

    另外也可以用 -m 参数后跟提交说明的方式

    git commit -m "Story 182: Fix benchmarks for speed"

    19、跳过使用暂存区域(Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤)

    git commit -a -m 'added new benchmarks'

    20、移除文件

    rm 【文件】

    git rm 【文件】

    21、移动文件

    git mv file_from file_to

    22、查看提交历史

    git log

    git log -p -2    常用 -p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新

    23、修改最后一次提交

    git commit --amend

    24、取消已经暂存的文件

    git reset HEAD <file>

    25、取消对文件的修改(这条命令有些危险)

    git checkout -- benchmarks.rb

    26、查看当前的远程库

    git remote

    git remote -v 显示对应的克隆地址

    27、添加远程仓库

    git remote add [shortname] [url]:

    28、从远程仓库抓取数据

    git fetch [remote-name]

    29、推送数据到远程仓库

    git push origin master

    30、查看远程仓库信息

    git remote show [remote-name]

    31、远程仓库的删除和重命名

    git remote rename name newName

    32、列显已有的标签

    git tag

    33、新建标签

    git tag -a v1.4 -m 'my version 1.4'

    34、签署标签

    git tag -s v1.5 -m 'my signed 1.5 tag'

    35、轻量级标签

    git tag v1.4-lw

    36、验证标签

    git tag -v v1.4.2.1

    37、后期加注标签

    git log --pretty=oneline

    38、分享标签

    git push origin v1.5

    39、标签到远端仓库。其命令格式如同推送分支

    git push origin [tagname]

    要一次推送所有本地新增的标签上去

    git push origin --tags

    40、创建一个新的分支

    git branch name

    41、切换分支

    git checkout name

    42、分支的新建与切换

    (1)新建并切换至此分支

    git checkout -b iss53

    (2)切换分支

    git checkout master

    43、合并分支

    git merge name

    44、删除分支

    git branch -d name

    45、遇到冲突时的分支合并

    可使用git status 查看冲突,需手动解决冲突文件,并进行git add 更新操作,然后使用git commit -m ''

    46、查看分支(* 表示当前分支)

    git branch

    47、查看各个分支最后一个提交对象的信息

    git branch -v

    48、获取当前分支的直接上游分支

    git branch --merged

    49、查看还未合并进来的分支

    git branch --no-merged

    50、删除远程分支

    git push [远程名] :[分支名]

    git push origin :serverfix

    相关文章

      网友评论

          本文标题:git常见命令

          本文链接:https://www.haomeiwen.com/subject/ehxaictx.html