git命令与操作

Posted newbase

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git命令与操作相关的知识,希望对你有一定的参考价值。

Git基础

Git使用前的配置

配置用户姓名和邮箱(多人协作时很有用)

  1. 配置姓名 $ git config --global user.name xxxx

  2. 配置邮箱 $ git config --global user.email xxxx@xxxx.com

  3. 查看配置是否成功 $ git config --list

注意

  1. 更改配置-->重复上述命令

  2. 或直接修改 C:Users用户.gitconfig 路径不统一

提交文件步骤

  1. git init 初始化git仓库
  2. git status 查看文件状态
  3. git add 文件列表 追踪文件
  4. git commit -m 提交信息 向仓库提交代码
  5. git log 查看提交记录
    git log --pretty=oneline 查看简单的提交记录

撤销修改

  • 用暂存区中的文件覆盖工作目录中的文件:git checkout

  • 把文件在工作区做的修改全部撤销 git checkout -- 文件名

    撤销分为两种情况:

    1.readme.txt自动修改后,还没有放到暂存区,使用撤销修改就回到和版本库一模一样的状态。

    2.另外一种是readme.txt已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态。

  • 将文件从暂存区中删除:git rm --cached 文件名

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

修改git commit信息中的author

  1. 使用 --amend 修改 author:

    git commit --amend --author=‘xxx <xxxx@xxx.xxx>’

  2. 输入git rebase --continue结束修改

回溯到上一个版本

`` git reset --hard HEAD^ ``  回溯到上一个版本
`` git reset --hard HEAD^^ `` 回溯到上上个版本
`` git reset --hard HEAD~100 `` 回溯到100个版本之前

查看文件内容

cat 文件名称

Git进阶

分支

生成副本,避免影响开发主线

分支细分

  1. 主分支(master):第一次向git仓库提交更新记录时自动产生的一个分支。
  2. 开发分支(develop):作为开发的分支,基于master分支创建。
  3. 功能分支(feature):作为开发具体功能的分支基于开发分支创建。

分支命令

  • git branch 查看分支
  • git branch 分支名称 创建分支
  • git checkout 分支名称 切换分支
  • git checkout -b 分支名称 创建并切换到该分支(即前两项合并)
  • git merge 来源分支 合并分支
  • git branch -d 分支名称 删除分支(分支不能处于被操作的状态)(-D 大写强制删除)

注意:

? 开发分支文件后要commit后再切换主分支,否则分支文件会出现在主分支里面。

暂时保存更改

git中可以不提交更改,只提取分支上所有改动并储存,让开发人员得到一个干净的副本,临时转向其它工作。复制到“剪切板”,可以“粘贴“到其它分支。

场景:

  • 储存临时改动:git stash
  • 恢复临时改动:git stash pop

Github

注册Github账号

侠奢的github

多人协作开发流程

  • A在自己的计算机中创建本地仓库
  • A在GitHub中创建远程仓库
  • A将本地仓库推送到远程仓库 git push
  • B克隆远程仓库到本地进行开发 git clone
  • B将本地仓库开发内容推送到远程仓库 git push
  • A将远程仓库中的最新内容拉去本地 git pull

创建仓库

推送到远程仓库

  1. git push **远程仓库地址** 分支名称

  2. git push 远程仓库地址别名 分支名称

  3. git push -u 远程仓库地址别名 分支名称

    -u 记住推送地址和分支,下次只需要输入git push

  4. git remote add 远程仓库地址别名 远程仓库地址

  5. 第一次提交需要用户名和密码,电脑会记住密码在凭据管理器,第二次就不用了。

拉取仓库

  • 克隆远程仓库到本地:git pull 仓库地址

克隆仓库

  • 克隆远程仓库到本地:git clone 仓库地址

拉取远程仓库中最新版本

  • 拉取远程仓库最新版本到本地:git pull 远程仓库地址 分支名称

解决冲突

多人开发同一个项目时,如果两个人修改了同一个文件同一个地方

  1. git pull
  2. 手动解决冲突
  3. git push

跨团队协作(github)

  1. fork到自己的远程仓库
  2. clone到本地进行修改
  3. push到远程仓库
  4. pull request发送给原作者
  5. 原作者查看commit 审核
  6. 原作者 merge pull request

SSH免密登录(推荐)(待完善)

  1. 生成密钥:ssh-keygen

    密匙储存目录:C:User用户\.ssh

    公钥名称:id_rsa.pub

    私钥名称:id_rsa

  2. Github添加公钥

  3. 复制SSH地址:

  4. 设置ssh别名:$ git remote add origin_ssh SSH地址

  5. 远程推送:$ git push origin_ssh master

Git忽略清单

  • 将不需要的文件名字添加到此文件中,执行git 命令时就会忽略这些文件 touch .gitignore

规则作用

/mtk 过滤整个文件夹
*.zip 过滤所有.zip文件
/mtk/xiaojian.py 过滤某个具体文件
!xiaojian.py 不过滤某个具体文件

注意:如果你创建.gitignore文件之前就push了某一文件,那么即使你在.gitignore文件中写入过滤该文件的规则,该规则也不会起作用,git仍然会对该文件进行版本管理。

配置语法

以斜杠“/”开头表示目录;
以星号“*”通配多个字符;
以问号“?”通配单个字符
以方括号“[]”包含单个字符的匹配列表;
以叹号“!”表示不忽略(跟踪)匹配到的文件或目录。

注意: git 对于 .gitignore配置文件是按行从上到下进行规则匹配的

为仓库添加说明

在仓库根目录添加readme.md文件即可

常用的图形管理工具(GUI)

  1. Github for Desktop :Github官方出品

  2. Sourse tree :老牌GUI

  3. TortoiseGit : 即海龟git

以上是关于git命令与操作的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段15——git命令操作一个完整流程

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段

git与svn的区别简介git进阶

Git基本操作命令合集

git简介命令