Git笔记整理

14 篇文章 0 订阅

下载地址:https://registry.npmmirror.com/binary.html

https://registry.npmmirror.com/binary.html?path=git-for-windows/

卸载

1.清理环境变量

2.程序卸载

安装下一步,默认安装即可

Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多

Git CMD:Windows风格的命令行

Git GUI:图形界面的Git,不建议初学者使用,尽量先熟悉常用命令Git 配置

git config --global user.name "duxiaowei"
git config --global user.email 529208215@qq.com
$ git config --global --list //全局配置

全局配置:D:\Git\install\Git\etc\gitconfig

用户配置:C:\Users\duxiaowei.gitconfig
在这里插入图片描述

工作区域

基本概念:(核心)

  • 工作区:平时存放项目代码的地方。
  • **暂存区(Stage/Index):**暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列 表信息
  • **版本库:**又称本地仓库,这个不算工作区,而是 Git 的版本库,里面有你提交到所有版本的数据。
  • 远程仓库:托管代码的服务器

在这里插入图片描述

  1. 在工作目录中添加,修改文件;

  2. 将需要进行版本管理的文件放入暂存区域; git add. // .表示所有文件

  3. 将暂存区域的文件提交到git仓库; git commit

    因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)

img

Git项目搭建

img

  • 创建一个全新的仓库,需要Git管理的项目的根目录

    # 在当前目录新建一个Git代码库
    $ git init 
    

执行后会看到,仅仅项目目录多出一个.git目录,关于版本等信息都在这个目录

  • 克隆远程仓库

    # 克隆一个项目和他的整个代码历史(版本信息)
    $ git clone [url]
    
    # 查看当前暂存区,文件状态
    $ git status
    # 文件红色,Untracked,没被跟踪
    $ git add .
    # 绿色了,会提示相应的文件,to be committed 没有被提交
    $ git commit -m "xxxx"  # 提交暂存区内容到本地仓库
    
    

忽略文件

有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件等

在主目录下建立”.gitignore”文件,此文件有如下规则:

  1. 忽略文件中的空行或以井号(#)开始的行将会被忽略。
  2. 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号 ([abc])代表可选字符范围,大括号({string1,string2,…})代表可选的字符串等。
  3. 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
  4. 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不 忽略。
  5. 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件 (默认文件或目录都忽略)。
#为注释*.txt      #忽略所有 .txt结尾的文件!lib.txt   #但lib.txt除外/temp      #仅忽略项目根目录下的TODO文件,不包括其它目录tempbuild/     #忽略build/目录下的所有文件doc/*.txt  #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
*.class
*.log
*.lock

# Package Files #
*.jar
*.war
*.ear
target/

# idea
.idea/
*.iml

*velocity.log*
### STS ###
.apt_generated
.factorypath
.springBeans

### IntelliJ IDEA ###
*.iml
*.ipr
*.iws
.idea
.classpath
.project
.settings/
bin/

*.log
tmp/

#rebel
*rebel.xml

使用码云gitee

注册账号,完善个人信息

建立跟码云之间的免密码认证

$ ssh-keygen -t rsa  # 使用rsa加密方式,会生成两个文件

在这里插入图片描述

在这里插入图片描述

公钥:id_rsa.pub

将公钥放到码云,ssh公钥位置,保存,确定。

使用码云创建一个自己的仓库

在这里插入图片描述

然后可以克隆一个到本地

IDEA集成Git

  1. 新建项目,绑定git

    • 将我们远程的git文件目录拷贝到项目中即可!里面有隐藏文件夹.git会产生钩子关联上
    • 注意观察idea中项目变化
    • 可以使用Terminal,命令行
    • 可以使用左下角Version Control跟右上角拉去、提交
    • 可以单独选中文件右键,有个git操作栏
  2. 修改文件,使用idea操作git

    • 添加到暂存区
    • commit提交
    • git push
    • 使用左下角Version Control查看

Git分支

列出所有本地分支

$ git branch

列出所有远程分支

$ git branch -r

列出所有本地分支和远程分支

$ git branch -a

新建一个分支,但依然停留在当前分支

$ git branch [branch-name]

新建一个分支,并切换到该分支

$ git checkout -b [branch]

新建一个分支,指向指定commit

$ git branch [branch] [commit]

新建一个分支,与指定的远程分支建立追踪关系

$ git branch —track [branch] [remote-branch]

切换到指定分支,并更新工作区

$ git checkout [branch-name]

切换到上一个分支

$ git checkout -

建立追踪关系,在现有分支与指定的远程分支之间

$ git branch —set-upstream [branch] [remote-branch]

合并指定分支到当前分支

$ git merge [branch]

选择一个commit,合并进当前分支

$ git cherry-pick [commit]

删除分支

$ git branch -d [branch-name]

删除远程分支

$ git push origin —delete [branch-name]

$ git branch -dr [remote/branch]

查看信息

显示有变更的文件

$ git status

显示当前分支的版本历史

$ git log

显示commit历史,以及每次commit发生变更的文件

$ git log —stat

搜索提交历史,根据关键词

$ git log -S [keyword]

显示某个commit之后的所有变动,每个commit占据一行

$ git log [tag] HEAD —pretty=format:%s

显示某个commit之后的所有变动,其”提交说明”必须符合搜索条件

$ git log [tag] HEAD —grep feature

显示某个文件的版本历史,包括文件改名

$ git log —follow [file]

$ git whatchanged [file]

显示指定文件相关的每一次diff

$ git log -p [file]

显示过去5次提交

$ git log -5 —pretty —oneline

显示所有提交过的用户,按提交次数排序

$ git shortlog -sn

显示指定文件是什么人在什么时间修改过

$ git blame [file]

显示暂存区和工作区的差异

$ git diff

显示暂存区和上一个commit的差异

$ git diff —cached [file]

显示工作区与当前分支最新commit之间的差异

$ git diff HEAD

显示两次提交之间的差异

$ git diff [first-branch]…[second-branch]

显示今天你写了多少行代码

$ git diff —shortstat “@{0 day ago}”

显示某次提交的元数据和内容变化

$ git show [commit]

显示某次提交发生变化的文件

$ git show —name-only [commit]

显示某次提交时,某个文件的内容

$ git show [commit]:[filename]

显示当前分支的最近几次提交

$ git reflog

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值