首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Git(一)

Git(一)

作者头像
1ess
发布2021-10-29 16:42:38
发布2021-10-29 16:42:38
4110
举报
文章被收录于专栏:0x7c00的专栏0x7c00的专栏

Git(一)

發佈於 2021-01-25

版本控制是软件开发中必不可少的工具,本篇,我们来介绍目前最流行的版本控制系统 —— Git。

Configuring Git

第一次使用时,我们需要进行一些配置。例如:
  • Name
  • Email
  • Default Editor
  • Line Ending

我们可以在三个不同层级进行配置:

  • SYSTEM: All users
  • GLOBAL: All repositories of the current user
  • LOCAL: The current repository
代码语言:javascript
复制
git config --global user.name "1ess"
git config --global user.email "pipelining@qq.com"
git config --global core.editor "code --wait"
git config --global diff.tool vscode
git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"

# Windows
git config --global core.autocrlf true

# Unix/Linux
git config --global core.autocrlf input

我们也可以使用如下命令

代码语言:javascript
复制
git config --global -e 

在编辑器中编辑配置。

Cheat Sheet

Initializing a Repository

代码语言:javascript
复制
git init
# Initialized empty Git repository in ~/Project/.git/

Staging Files

代码语言:javascript
复制
git add file1.txt file2.txt
git add *.txt
git add .

Committing Changes

代码语言:javascript
复制
git commit -m "Initial Commit."

Committing Best Practices

As you reach a state you want to record, THEN make a commit. 例如,当你正在进行 Bug fix,突然发现一个 Typo,不应一次提交所有更改,应该是有两次单独提交。并且每次的提交消息要明确,因为他会显示在提交历史中。

Remove Files

代码语言:javascript
复制
git rm file1.txt
git rm *.txt
git rm .

git rm 与 rm 命令不同之处在于:

  • git rm: 直接在工作区和暂存区移除文件
  • rm: 只在工作区移除,如果希望暂存区也移除,需要使用 git add 命令

简单来说,git rm 相当于 rm + git add。

Renaming or Moving Files

与移除类似,Git 也提供一个命令执行重命名文件:

代码语言:javascript
复制
git mv file1.txt main.js

Ignoring Files

我们使用 .gitignore 文件来忽略我们不希望 Git 来管理的文件或文件夹。 需要注意,如果 Git 已经管理某些文件或文件夹,我们再添加到 .gitignore 中就不起作用了,我们只需要先在暂存区移除不希望管理的文件或文件夹即可。

代码语言:javascript
复制
git rm --cached -r logs/

Viewing the Staged & Unstaged Changes

我们可以使用如下命令来比较最新一次提交和当前暂存区的变化:

代码语言:javascript
复制
git diff --staged

如果不带参数则比较工作区与暂存区的变化:

代码语言:javascript
复制
git diff

View the History

代码语言:javascript
复制
git log
git log --oneline

View a Commit

代码语言:javascript
复制
git show {commitId}

Unstaging Files

代码语言:javascript
复制
# 恢复暂存区的文件
git restore --staged file1.txt

# 恢复工作区文件,即取消本次未添加到暂存区的工作区的修改
git restore file2.txt

restore 命令依据的是下一个环境进行恢复,暂存区的下一个环境为上一次提交,工作区的下一个环境为暂存区。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-01-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Configuring Git
  • Cheat Sheet
    • Initializing a Repository
    • Staging Files
    • Committing Changes
    • Committing Best Practices
    • Remove Files
    • Renaming or Moving Files
    • Ignoring Files
    • Viewing the Staged & Unstaged Changes
    • View the History
    • View a Commit
    • Unstaging Files
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档