git的基本知识

1. git通常分为四个区

  1. Workspace   工作区,git add将工作区的代码添加到暂存区

  2. Stage       暂存区,git.status查看暂存区的状态

  3. Repository    本地仓库区,git commit 提交暂存区文件到本地仓库

  4. Remote    远程仓库,git push 将本地仓库代码提交到远程仓库

 

2. git的基础配置

  1. 查看当前git的配置信息:git config -l

  2. 查看当前git的全局配置:git config --global -l

  3. 修改git的用户名:git config --global user.name '用户名'

  4. 修改git的密码:git config --global user.password '密码'

  5. 修改git的email:git config --global user.email '邮箱'

 

3. 本地仓库搭建

  1. 在当前目录初始化git项目:git init  目录会多了一个.git文件

  2. 克隆远程仓库项目到本地:git clone 远程仓库地址

 

4. 添加文件到暂存区或从暂存区删除文件

  1. 添加指定文件或目录:git add 文件名称或目录

  2. 添加当前文件夹的所有文件:git add .

  3. 删除暂存区内的指定文件:git rm 文件名或目录

  4. 修改文件名并添加到暂存区:git mv [oldfilename] [newfilename]

 

5. 提交文件到本地仓库

  1. 提交暂存区内的文件到本地仓库:git commit -m "备注信息"

  2. 提交工作区字上次commit后的变化,直接到本地仓库:git commit -a

  3. 提交时显示所有的diff信息:git commit -v

  4. 使用新的commit替代上一次的提交,如果内容没有变化,则修改描述信息:git commit --amend -m '描述信息'

 

6. git分支处理

  1. 查看所有本地分支:git branch

  2. 查看所有远程分支:git branch -r

  3. 创建新的分支:git branch 分支名

  4. 切换分支:git checkout 分支名

  5. 切换到上一个分支:git checkout -

  6. 合并指定分支到当前分支:git merge 分支名

  7. 删除分支:git branch -d 分支名

  8. 删除远程分支:git push origin --delete 分支名 或 git branch -dr 分支名

 

7. git上传至远程仓库

  1. 添加远程仓库:git remote add origin 远程仓库地址

  2. 将本地仓库push到远程仓库:git push -u origin "master"

  3. 查看所有远程仓库:git remote -v

  4. 强行推送当前分支到远程仓库,忽略冲突:git push 远程仓库 --force

  5. 推送所有分支到远程仓库:git push 远程仓库 --all

 

8. git 撤销

  1. 恢复暂存区的文件到工作区:git checkout [ filename ] 或者 git checkout .

  2. 恢复某个commit的文件到暂存区和工作区:git checkout [ commit ] [ filename ]

  3. 重置暂存区的文件,与上一次commit保持一致,工作区不变:git reset [ filename ]

  4. 重置暂存区和工作区,与上一次commit保持一致:git reset --hard

 

9. git其他命令

  1. 显示当前分支的版本信息:git log

  2. 显示commit历史和发生变更的文件:git log --stat

  3. 显示某个文件的版本历史,包括文件改名:git log --follow [ filename ]

  4. 显示过去的n次提交:git log -n --pretty --oneline

  5. 显示所有提交过的用户,按提交次数排序:git shortlog -sn

  6. 显示对文件修改的用户和时间:git blame [filename ]

 

10. .gitignore文件的忽略配置规则,即在上传的时候不会被选中

  1. 忽略文件中的空行或者以#开始的注释文件

  2. 可以忽略Linux通配符,*代表多个字符,?代表一个字符等

    如:*.txt  表示忽略以.txt结尾的文件

  3. 如果前由!,表示例外规则,即不会被忽略

    如:! lib.txt  表示lib.txt文件不会被忽略

  4. 名称前面有一个 / ,表示根目录下的文件被忽略,其他目录下的不会被忽略

    如:/temp  表示忽略根目录下的temp,不会忽略其他目录下的temp

  5. 名称后面有一个 / ,表示该目录下的文件被忽略

    如:temp/*.txt  表示忽略temp下的.txt文件,但是不会忽略temp/doc/hello.txt文件

  

posted @ 2023-02-27 17:25  无敌小豆包  阅读(35)  评论(0编辑  收藏  举报