GIT 命令

作者: unual_ | 来源:发表于2019-08-05 15:17 被阅读6次

官方教程地址

配置

  • git config --list
    查看配置

两个git账号共存

取消全局的用户名和邮箱,在本地各自工作目录设置(eg.D:/code/project)
git config --global --unset user.user
git config --global --unset user.email
git config user.name "username"
git config user.email "email"

  • git config --global credential.helper store --file=~/.ssh/git_credentails
  • git config --system --unset credential.helper manager
    设置git的账号和密码
#~/.ssh/git_credentails文件
#github 和 gitlab 账号密码共存
https://username:password@github.com
http://username:password@git.xxx.com

远程仓库

分支

  • git fetch
    拉取远程仓库所有分支
  • git branch
    查看本地分支列表
  • git branch develop
    在本地仓库创建一个develop分支
  • git branch (-u | --set-upstream) origin/master
    设置已有的本地分支跟踪一个刚刚拉取下来的远程分支
  • git pull [--allow-unrelated-histories(关联本地和远程分支,远程分支已有提交,会用到)]
    拉取已跟踪的远程分支
  • git push
    将本地已提交内容推到远程
  • git branch -d develop
    删除本地分支
  • git push origin -d develop
    删除远程分支
  • git push origin master:develop
    本地master 提交到远程 develop,远程分支不存在则创建

新开分支及合并

1.开发某个网站。
2.为实现某个新的需求,创建一个分支。
3.在这个分支上开展工作。
正在此时,你突然接到一个电话说有个很严重的问题需要紧急修补。 你将按照如下方式来处理:
1.切换到你的线上分支(production branch)。
2.为这个紧急任务新建一个分支,并在其中修复它。
3.在测试通过之后,切换回线上分支,然后合并这个修补分支,最后将改动推送到线上分支。
4.切换回你最初工作的分支上,继续工作。

新开分支,开发新需求
git checkout -b iss53
vim index.html
git commit -a -m 'added a new footer [issue 53]'
回到线上分支
git checkout master
从线上分支拉出新分支,改bug
git checkout -b hotfix
vim index.html
git commit -a -m 'fixed the bug'
回到线上分支,将修改bug分支合并
git checkout master
git merge hotfix
#可能会遇到冲突

#Auto-merging index.html
#CONFLICT (content): Merge conflict in index.html
#Automatic merge failed; fix conflicts and then commit the result.

git commit -a -m 'merge'
git branch -d hotfix

一个冲突解决示例

  • 变基
  • git cherry-pick 9e5e64ae43a6fd3e94888d76779ad79fb568ed180e5fcdf
    从另外一个分支,检出某个提交,合并到当前分支

撤销提交

  • git reset

重置到git commit,重置提交记录

  • git reset --mixed 9e5e64a
    重置到git add,重置暂存区
  • git reset --hard 9e5e64a
    重置到修改文件,恢复原文件,重置工作目录
    链接

文件操作

  • 工作目录下的每一个文件都不外乎这两种状态:已跟踪或未跟踪。下图是git文件的生命周期(未修改,已修改,和暂存都属于已跟踪状态) lifecycle.png
  • git status [-s]
    检查当前文件状态
  • git add 文件或目录的路径
    可以用它开始跟踪新文件,或者把已修改的文件放到暂存区。还能用于合并时把有冲突的文件标记为已解决状态等。将这个命令理解为 -- 添加内容到下一次提交中。
  • git diff
    查看修改之后还没有暂存起来的变化内容。
  • git diff --staged
    查看已暂存,下次将要提交。
  • git commit -m 'message'
    提交更新,将暂存状态改成未修改状态。
  • git commit -a -m 'message'
    自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤
  • git rm
    从暂存区中删除某个文件
  • git log
    查看提交历史记录 链接
git log --pretty="%h - %an - %s - %cd" .gitignore
a1ba2eb - unual - modified .gitignore - Tue Jul 30 21:35:38 2019 +0800
20d3401 - unual - 第一次提交 - Tue Jul 30 21:08:39 2019 +0800

%H      提交对象(commit)的完整哈希字串
%h      提交对象的简短哈希字串
%T      树对象(tree)的完整哈希字串
%t      树对象的简短哈希字串
%P      父对象(parent)的完整哈希字串
%p      父对象的简短哈希字串
%an     作者(author)的名字
%ae     作者的电子邮件地址
%ad     作者修订日期(可以用 -date= 选项定制格式)
%ar     作者修订日期,按多久以前的方式显示
%cn     提交者(committer)的名字
%ce     提交者的电子邮件地址
%cd     提交日期
%cr     提交日期,按多久以前的方式显示
%s      提交说明

作者:北山学者
链接:https://www.jianshu.com/p/15838b8b44c0
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • git reset HEAD add1
    取消暂存文件add1
  • git tag -a v1.0 -m 'init version 1.0'
    打标签 链接
  • .gitignore
#所有空行或者以 # 开头的行都会被 Git 忽略。
#可以使用标准的 glob 模式匹配。
#匹配模式可以以(/)开头防止递归。
#匹配模式可以以(/)结尾指定目录。
#要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

# no .a files
*.a

# but do track lib.a, even though you're ignoring .a files above
!lib.a

# only ignore the TODO file in the current directory, not subdir/TODO
/TODO

# ignore all files in the build/ directory
build/

# ignore doc/notes.txt, but not doc/server/arch.txt
doc/*.txt

# ignore all .pdf files in the doc/ directory
doc/**/*.pdf

相关文章

  • Github学习文档-3

    目录 1.Git 的基本的命令git init命令git status命令git add命令git commit命...

  • git实用命令

    git实用命令 1 git init 命令 初始化 git 仓库 repository 2 git add 命令 ...

  • git管理工具

    git分支命令 git提交命令

  • git 多条命令一次执行

    上代码git命令 && git命令

  • git入门

    这里对git init、git add、git commit命令进行一个总结。 $ git init 命令,该命令...

  • GIT 常用命令总结

    GIT 常用命令总结 GIT 初始化命令 命令描述git init初始化本地 git 仓库git config -...

  • Git命令整理

    Git命令 ———————————————— git配置: git基本步骤: git分支管理: 创建分支命令: 切...

  • git 分支

    git 显示所有分支(包含本地和远程)命令: git 删除本地分支命令: git 显示远程分支命令: git 删除...

  • Git命令集合

    Git基础命令 git远程关联 git远程关联移除 git命令简单简介 常用命令集合:git init创建版本库 ...

  • git使用指南

    常用命令 帮助类: git --help:显示git命令帮助信息git help -a:显示所有命令git hel...

网友评论

    本文标题:GIT 命令

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