美文网首页
git命令手册

git命令手册

作者: AizawaSayo | 来源:发表于2021-03-10 14:15 被阅读0次

    git配置

    在使用 git 前,需要告诉 git 你是谁,在向 git 仓库中提交时需要用到。

    • 配置提交人姓名:git config --global user.name 提交人姓名
    • 配置提交人邮箱:git config --global user.email 提交人邮箱
    • 查看git配置信息:git config --list

    其中 --global 表示 只适用于当前登录用户的配置,对应配置文件路径(~/.gitconfig)
    还可以按需替换成:

    • --local :适用于特定git项目的配置;
    • --system:适用于系统所有用户和所有项目的值,配置文件路径:(/usr/local/git/etc/gitconfig),用终端编辑:git config --system -e

    提交代码(本地仓库)

    git init 初始化git仓库
    git status 查看文件状态(可以看到哪些文件还没被git管理)
    git add 文件列表 追踪想要管理的文件,把它们添加到暂存区中
    git add . 追踪项目全部文件
    git commit -m '提交说明' 向仓库中提交代码,最好每次提交只包含一个功能
    git log 查看提交记录
    git commit -a -m '提交说明' 如果之前已经被暂存区追踪的文件在工作目录被修改,这个命令可以把这个modified变化越过暂存区,直接提交到git仓库形成历史记录。或者理解为自动先add到暂存区,然后提交(等于两步并了一步,便捷的操作)

    撤销操作/恢复记录

    • 恢复个别文件的修改操作:
      git checkout <文件> - 用暂存区中的文件覆盖工作目录中的文件
      git rm --cached <文件> - 将文件从暂存区中删除

    • 恢复一次整体的提交记录
      git log 查询一下提交记录

    git log
    commit 3f8135c32d508d250b83fe12699c6b65db87b3af (HEAD -> master, origin/master)
    Author: xxxxxx <xxxxxxxx@qq.com>
    Date:   Thu Nov 7 22:19:04 2020 +0800
    

    git reset --hard commitID 再将仓库中指定的更新记录恢复出来,并且覆盖暂存区和工作目录

    git reset --hard 3f8135c32d508d250b83fe12699c6b65db87b3af
    

    缓存更改

    将自己修改的代码片段在本地仓库做一个临时缓存
    git stash

    查看缓存代码片段
    git stash list

    git stash list
    stash@{0}: WIP on master: 657e136 search page modified
    

    这样可以无视冲突直接 pull 远程代码
    然后再把自己之前缓存的代码再合并到更新后的代码中去

    git stash pop stash@{0}
    Auto-merging lib/pages/search_page.dart
    CONFLICT (content): Merge conflict in lib/pages/search_page.dart
    

    stash@{0} 就是git stash时的标记,也可使用git stash save XXX 来自定义一个标记,方便自己记忆和查询

    分支命令

    git branch 查看分支
    git branch 分支名称 创建分支
    git checkout 分支名称 切换分支
    git merge 被合并分支 合并分支(合并只是把分支合并到主分支上,分支本身仍然还存在)
    git branch -d 分支名称 删除分支(分支被合并后才允许删除)(-D 强制删除)

    远程操作

    • git push <远程仓库地址(或仓库地址别名)> <分支名称>
      -->仓库别名可以通过如下操作配置:
    • git remote add <远程仓库地址别名> <远程仓库地址>
      举例:git remote add origin https://github.com/axxxxo/animal_server.git
    • git push -u <远程仓库地址别名> <分支名称> --> -u 记住推送地址及分支,下次推送只需要输入git push即可
    • git clone <仓库地址> 克隆远端数据仓库到本地
    • git pull <远程仓库地址(或仓库地址别名)> <分支名称> 拉取远程仓库中最新的版本,第一次要加地址和分支名,以后拉取远程更新只需git pull
      举例:git pull origin master --> origin 是之前用 remote 设置的仓库别名
      还可以先指定本地分支到远程的分支,然后再去pull
      git branch --set-upstream-to=origin/master master
      git pull
    修改远程仓库地址别名
    1. 删除后重新添加
      git remote rm origin 注:此处的 origin 为自定义的远程仓库别名,下同
      git remote add origin <url>
    2. 直接修改地址
      git remote origin set-url <url>

    另,现在需要token验证,可以直接把 token 拼接在仓库地址免去每次验证:
    git remote add origin https://[token]@github.com/[user]/[repo].git

    已经存在的项目也可以去它的📃.git/config,如下在[remote "origin"]的地址中添加 token:

    删除 git 远程仓库的目录/文件

    有时候在.gitignore里漏标记了一些目录/文件,但已经全部提交到github上了,如本地环境配置文件等。那么如何通过命令来删除 github 远程仓库上对应的目录或文件,而保留本地的呢?

    以删除dist目录为例:

    git rm -r --cached dist
    git commit -m '删除 dist 文件夹'
    git push -u origin master

    相关文章

      网友评论

          本文标题:git命令手册

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