[Git 知识小结]

Git 知识小结

  • 1.配置
  • 2.版本管理
  • 3.分支管理
  • 4.远程仓库
  • 5.标签管理
  • 6.自定义git


[Git 知识小结]_第1张图片


1.配置

[Git 知识小结]_第2张图片

git init git init 初始化Git仓库
git config git config --global user.name “Your Name” 配置当前⽤户⽤户名。使⽤–global参数将配置全局⽤户名
git config --global user.email “[email protected] 配置当前⽤户Email。使⽤–global参数将配置全局Email

2.版本管理

[Git 知识小结]_第3张图片

git add git add < directory > 将指定⽬录的所有修改加⼊到下⼀次commit中。
git add < file > 添加指定⽂件的修改
git commit git commit -m 提交暂存区的修改,使⽤指定的< message >作为提交信息,⽽不是打开⽂本编辑器输⼊提交信息。
git status git status 显示哪些⽂件已被staged、未被staged以及未跟踪(untracked)。
git diff git diff ⽐较⼯作区和暂存区的修改。
git diff HEAD ⽐较⼯作区和上⼀次commit后的修改。
git diff --cached ⽐较⼯作区和上⼀次commit后的修改。
git log git log 以缺省格式显示全部commit历史。
–pretty=oneline 一行简略显示
–graph 显示图形化的branch信息。
git reflog git reflog 显示本地repo的所有commit⽇志。
git reset git reset 移除所有暂存区的修改,但不会修改⼯作区。
–hard 移除所有暂存区的修改,并强制删除所有⼯作区的修改
< commit > 将当前分⽀回滚到指定,清除暂存区的修改,但保持⼯作区状态不变。
–hard < commit > 将当前分⽀回滚到指定,清除暂存区的修改,并强制删除所有⼯作区的修改
git checkout – < file > 将当前分⽀回滚到指定,清除暂存区的修改,并强制删除所有⼯作区的修改
–hard < commit > 将当前分⽀回滚到指定,清除暂存区的修改,并强制删除所有⼯作区的修改
git rm -git rm 删除文件

3.分支管理

[Git 知识小结]_第4张图片

git checkout git checkout -b < name > 创建+切换分支
git checkout < name > 切换分支
git branch git branch 列出所有分支
git branch -d < name > 删除分支
git merge git merge --no-ff 普通模式合并,合并后的历史有分支,能看出来曾经做过合并
git merge fast forward 合并就看不出来曾经做过合并
git switch git switch -c < name > 创建+切换分支
git switch < name > 切换分支
git stash git stash 当前工作现场“储藏”起来,等以后恢复现场后继续工作
git stash apply 恢复工作现场
git stash drop git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除
git stash pop 恢复的同时把stash内容也删了
git cherry-pick git cherry-pick < commit > 提交的修改“复制”到当前分支,避免重复劳动

4.远程仓库

[Git 知识小结]_第5张图片

git remote git remote -v 查看远程库信息
git remote rm origin 解除了本地和远程的绑定关系
git remote add < name > < url > 关联一个远程库
git clone git clone < url > 从远程库克隆
git push git push origin < branch-name > 将本地指定< branch >推送到指定远程< remote >。如果远程没有对应的分⽀,将⾃动在远程创建此分⽀。
git pull git pull < remote > 从指定< remote >抓取所有分⽀的commit并⽴刻合并到本地repo。

5.标签管理

[Git 知识小结]_第6张图片

git tag git tag 查看所有标签
git tag < tagname > 打一个新标签
git tag -a < tagname > -m “blablabla…” 可以指定标签信息
git push origin < tagname > 推送一个本地标签
git push origin --tags 推送全部未推送过的本地标签
git tag -d < tagname > 删除一个本地标签
git push origin :refs/tags/< tagname > 删除一个远程标签
git show 查看标签信息

6.自定义git

.gitignore文件

忽略文件的原则是:

  • 忽略操作系统自动生成的文件,比如缩略图等;
  • 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
  • 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。
git check-ignore 命令检查
# 排除所有.开头的隐藏文件:
.*
# 排除所有.class文件:
*.class

# 不排除.gitignore和App.class:
!.gitignore
!App.class
  • .gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!
  • 忽略某些文件时,需要编写.gitignore;

你可能感兴趣的:(Git,git,github)