Git笔记

发布于:2025-05-09 ⋅ 阅读:(26) ⋅ 点赞:(0)

1,安装

1,如果存在,先卸载 

        先反安装,删掉环境变量配置,卸载(直接应用程序卸载即可)

2,安装

        下载方式

        官网:Git下载对应版本

        GitCode 镜像:提供了最新版本的 Git 安装包,适用于 Windows 64 位系统。

        Git-2.42.0.2-64-bit.exe

         Gitee 镜像:Gitee 提供了 Git for Windows 的镜像,不定期更新最新版本。
        Gitee Git for Windows 镜像        

直接一直下一步安装即可

3,验证

        cmd中输入git --version,显示版本即可

2,相关命令

常用linux命令

cd:改变目录

cd..:回退到上一级目录

pwd:显示当前所在目录路径

ls(ll):列出当前目录中所有文件,ll列出的更为详细

touch:新建一个文件,touch test.text,就会创建一个test文件

rm:删除一个文件 ,rm test.text

rm -r:删除一个文件加,rm -r src 删除src目录

mkdir:新建一个目录(文件夹)

mv:移动文件 ,mv test.txt src         test.txt是需要移动的文件,src是目标文件夹

reset:重新初始化终端/清屏

clear:清屏

history:查看历史命令

help:帮助

exit:退出

#:表示注释

常用git命令

# 配置查看

git config -l   # 查看配置

git config --system --list   # 查看系统配置,纯系统配置

git config --global --list   # 查看本地配置

# 添加自己的配置

$ git config --global user.name 用户名

$ git config --global user.email 邮箱

Git/etc/getconfig:系统配置

自己去配置,会在C盘当前用户目录下有一个.gitconfig文件 

# 相关操作

# 1,初始化

git init    # 初始化项目 在当前目录新建一个Git代码库

git clone url   # 克隆一个远程仓库到本地

# 2,提交

git add .    # 将当前目录所有文件放入暂存区     工作区--暂存区

git add file1 file2  # 将文件放入暂存区          工作区--暂存区

git commit -m    # 提交到本地仓库                      暂存区---仓库

git push    # 推送到远程                          仓库--远程

# 3,拉取

git clone url   # 克隆

git pull    # 拉取

# 4,查看状态

git status  # 查看所有文件状态  ()
# Untracked: 未跟踪, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
# Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
# Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改 !
# Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified

git status fillename # 查看文件状态

git log   # 显示当前分支的版本历史

git log --stat # 显示commit历史,以及每次commit发生改变的文件

git log -S [keyword]    # 搜索提交历史,可根据关键此

git log --fllow [file]     # 显示某个文件的版本历史,包括文件改名

git diff    # 显示暂存区和工作区的差异

git diff --cached [file]  # 显示暂存区和上一个commit的差异

# 5,分支

git branch   # 列出所有本地分支

git branch -r    # 列出所有远程分支

git branch -a    # 列出所有本地和远程分支

git branch [branch-name]    # 新建一个分支,但依然停留在当前分支

git branch -d [branch-name]     # 删除分支

git checkout -b [branch]  #  新建一个分支,并切换到该分支

git checkout [branch-name] # 切换到指定分支,并更新工作区

git checkout -   # 切换到上一个分支

git merge [branch]    # 合并指定分支到当前分支

# 6,远程同步

git fetch [remote]  # 下载远程仓库所有变红

git remote -v    # 显示所有远程仓库

# 7,撤销

git checkout  # 回复暂存区的制定文件到工作区

3,Git理论******

工作流程

1,再工作目录中添加,修改文件       xxx.java

2,将需要进行版本管理的文件放入暂存区域    git add file

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

4,推送到远程   git push

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

工作区

workspace:工作区,就是平时存放代码的地方

index/stage:暂存区,用于临时存放你的改动,事实上他只是一个文件,保存即将提交到文件列表信息

repository:仓库区(本地仓库),就是安全存放数据的位置,这里有你提到的所有版本的数据,其中HEAD指向最新放入仓库的版本

remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

​ 

4,忽略文件

忽略一些临时文件等

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

  1. 忽略文件中的空行或以#开始的行将会被忽略。

  2. 可以使用Linux通配符。例如:*代表任意多个字符,?代表一个字符,方括号[abc]代表可选字符范围,大括号({string1,string2,...})代表可选的字符串等。

  3. 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。

  4. 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。

  5. 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。

    #为注释
    *.txt        #忽略所有 .txt结尾的文件,这样的话上传就不会被选中!
    !lib.txt     #但lib.txt除外
    /temp        #仅忽略项目根目录下的TODO文件,不包括其它目录temp
    build/       #忽略build/目录下的所有文件
    doc/*.txt    #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt


网站公告

今日签到

点亮在社区的每一天
去签到