Gitbasicoperation

Git basicoperation is usingGitforversion控制 Basics, including初始化仓library, 添加file, submitting更改, 查看status and logetc.. Master这些basicoperation is LearningGit Step 1.

1. 初始化Git仓library

要usingGitmanagementproject, 首先需要初始化一个Git仓library. 初始化仓library会 in 当 before Table of Contentscreation一个 .git Table of Contents, 用于storeGit version控制information.

# in 当 before Table of Contents初始化Git仓library git init # in 指定Table of Contents初始化Git仓library git init my-project

提示

初始化Git仓library after , 当 before Table of Contents ( or 指定Table of Contents) 就成 for 了一个Git工作区. 你可以using ls -la commands查看 .git Table of Contents is 否creation成功.

2. 查看仓librarystatus

using git status commands可以查看仓library 当 before status, including哪些file被modify, 哪些file已stage, 哪些file未被跟踪etc..

# 查看仓librarystatus git status

执行该commands after , 你会看 to class似以 under 输出:

On branch master No submittings yet Untracked files: (use "git add ..." to include in what will be submittingted) README.md nothing added to submitting but untracked files present (use "git add" to track)

3. 添加file to stage区

in Gitin, file需要先添加 to stage区, 然 after 才能submitting to versionlibrary. using git add commands可以将file添加 to stage区.

# 添加单个file to stage区 git add README.md # 添加 many 个file to stage区 git add file1.txt file2.txt # 添加当 before Table of Contents所 has file to stage区 git add . # 添加所 has .txtfile to stage区 git add *.txt

4. submitting更改 to versionlibrary

using git submitting commands可以将stage区 filesubmitting to versionlibrary, creation一个 new submitting记录.

# submittingstage区 file, 添加submittinginformation git submitting -m "Initial submitting" # 直接submitting所 has 已modify file (跳过stage区) git submitting -a -m "Update files" # submitting并modify on 一次 submittinginformation git submitting --amend

submittinginformation规范

submittinginformation应该清晰, 简洁地describes本次submitting in 容. 建议using以 under 格式:

  • 第一行: 简 short submitting标题 (不超过50个字符)
  • 空行
  • 详细describes (可选, 每行不超过72个字符)

5. 查看submittinglog

using git log commands可以查看仓library submittinghistory记录.

# 查看完整 submittinglog git log # 查看简洁 submittinglog (只显示哈希值 and submittinginformation) git log --oneline # 查看最近5次submitting git log -n 5 # 查看submittinglog, includingbranch and mergeinformation git log --graph --oneline --all # 查看submittinglog, 显示file变更 git log --stat

6. 查看filediff

using git diff commands可以查看file diff, including工作区 and stage区 diff, stage区 and versionlibrary diffetc..

# 查看工作区 and stage区 diff git diff # 查看specificfile diff git diff README.md # 查看stage区 and versionlibrary diff git diff --staged # 查看两个submitting之间 diff git diff submitting1 submitting2 # 查看工作区 and specificsubmitting diff git diff submitting1

7. revertoperation

in usingGit 过程in, has 时候需要revert一些operation, 比such asrevert工作区 modify, revertstage区 file, revertsubmittingetc..

7.1 revert工作区 modify

# revert单个file modify git checkout -- README.md # revert所 has file modify git checkout -- .

7.2 revertstage区 file

# 将file from stage区移除, 但保留工作区 modify git reset HEAD README.md # revert所 has stage区 file git reset HEAD

7.3 revertsubmitting

# revert on 一次submitting, 将更改放回stage区 git reset --soft HEAD~1 # revert on 一次submitting, 将更改放回工作区 git reset --mixed HEAD~1 # revert on 一次submitting, discard所 has 更改 git reset --hard HEAD~1

warning

using git reset --hard commands会永久delete未submitting 更改, using时请务必谨慎!

8. delete and movefile

Gitproviding了delete and movefile commands, 可以同时update工作区 and stage区.

8.1 deletefile

# deletefile并将deleteoperation添加 to stage区 git rm README.md # delete many 个file git rm file1.txt file2.txt # delete所 has .txtfile git rm *.txt # deleteTable of Contents git rm -r my-directory

8.2 movefile

# movefile (rename) git mv old-name.txt new-name.txt # movefile to 指定Table of Contents git mv README.md docs/

实践case: creation并management一个Git仓library

  1. creation一个 new Table of Contents并进入: mkdir git-practice && cd git-practice
  2. 初始化Git仓library: git init
  3. creation一个README.mdfile: echo "# Git Practice" > README.md
  4. 查看仓librarystatus: git status
  5. 将README.md添加 to stage区: git add README.md
  6. submitting更改: git submitting -m "Initial submitting"
  7. 查看submittinglog: git log
  8. modifyREADME.mdfile: echo "This is a Git practice repository." >> README.md
  9. 查看diff: git diff
  10. 再次submitting更改: git add README.md && git submitting -m "Update README"
  11. 查看简洁log: git log --oneline

互动练习

请completion以 under 练习, 巩固Gitbasicoperation:

  1. creation一个 new Git仓library
  2. 添加至 few 3个不同class型 file (such as.txt, .md, .js)
  3. 分3次submitting这些file, 每次submitting一个file
  4. modify其in一个file, 然 after 查看diff
  5. submittingmodify after file
  6. 查看完整 submittinglog
  7. using不同 parameter查看log (--oneline, -n 3, --graph)
  8. delete一个file并submittingdeleteoperation
  9. rename一个file并submittingrenameoperation

completion练习 after , 你应该able to熟练MasterGit basicoperation流程!