git 基本操作

#git 基本用法

下载 git

创建新仓库

  • 创建文件夹 mkdir <dirname>
  • 创建文件 touch <filename>
  • 初始化仓库 git init

检出仓库

  • 克隆本地仓库 git clone /path/to/repository
  • 克隆远端服务器仓库 git clone username@host:/path/to/repository

工作流

本地仓库由 git 维护的三棵“树”组成。第一个是你的 工作目录,它持有实际文件;第二个是 暂存区(Index),它像个缓存区域,临时保存你的改动;最后是 HEAD,它指向你最后一次提交的结果。

添加和提交

  • 添加到暂存区 git add <filename> 或者 git add *
  • 提交代码 git commit -m "提交信息"

推送至远程仓

  • 提交到远端仓库 git push origin master
  • 如果没有克隆现有仓库,并打算将本地仓库连接到某个远程服务器,可以使用如下命令添加:git remote add origin <server>

分支

  • master是默认分支,开发时一般会创建一个分支,开发完成后合并到主分支
  • 创建分支 git checkout -b <branchname>
  • 切换回主分支 git checkout master
  • 删除分支 git branch -d <branchname>
  • 除非你将分支推送到远端仓库,不然该分支就是不为他人所见的 git push origin <branch>

更新与合并

  • 更新你的本地仓库 git pull 在本地工作目录中获取(fetch)并合并(merge)远端改动。
  • 合并其他分支到当前分支 git merge <branch> 可能出现冲突(conflicts),修改冲突后git add <filename> 在合并改动之前可以使用 git diff <source_branch> <target_branch> 预览差异。

log

  • 输出提交的历史记录 git log
  • 仅输出某一人的提交记录 git log --author=sialia
  • 输出压缩后只占一行的提交记录 git log --pretty=oneline
  • 查看那些文件改变了 git log --name-status
  • 获取其他参数信息 git log --help

标签

  • 为软件发布创建标签 git tag 1.0.0 'commit ID'
  • 获取commit ID 使用 git log

替换本地改动

  • 替换掉本地改动(操作失误) git checkout -- <filename> 会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。
  • 假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它:
    git fetch origin git reset --hard origin/master
# 设置提交时的用户信息
git config --global user.name "用户名"
git config --global user.email "邮箱"

# 禁用git自动LF转CRLF
git config --global core.autocrlf false

# 生成密钥(默认文件名id_rsa)
# -t 密钥类型
# -C 注释
ssh-keygen -t rsa -C "邮箱"

在vscode集成的powerahell 中安装 posh-git 插件

VSCode 默认使用PowerShell,启动powershell,分别执行下面3个命令(提示都输入Yes)

# 1.设置权限
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Confirm

# 2.使用PowerShellGet安装
PowerShellGetInstall-Module posh-git -Scope CurrentUser

# 3.全局导入posh-git
Add-PoshGitToProfile -AllHosts

其他git教程:http://www.bootcss.com/p/git-guide/

原文地址:https://www.cnblogs.com/muqiao/p/8758827.html