git使用

git的官方网站

首次使用Git

1.设置用户名

1
2
git config --global user.name <_name>       #设置用户名
git config --global user.email <_mail.com> #设置用户邮箱

以我的电脑为例,我的电脑登录用户名为XXY,则可在C:\Users\XXY\.gitconfig 文件中查看自己的用户配置

Git提交到本地仓库

  1. 初始化本地仓库
    在创建好的项目文件夹下通过git bush 输入以下命令初始化仓库
1
git init

此时会在此文件夹下创建一个名为.git的隐藏文件夹,即仓库初始化成功
2. 查看仓库状态

1
git status
  1. 将文件添加到暂存区
1
2
3
4
git add <_file_name1> <_file_name2> ... #将文件添加到暂存区
git add <_dir_name> #将文件夹添加到暂存区
git add --all #将所有的改动过的文件提交到缓存区
git add . #将目录下的所有文件添加到暂存区
  1. 将文件提交到本地仓库(git commit)
1
2
3
git commit -m "日志信息" 
git commit <_file_name1> <_file_name2> ... -m "日志信息" #提交暂存区内的部分文件
git commit -a #无需执行git add,直接提交

注意:对于第一提交的文件,都需要先使用git add 再使用git commit提交至仓库中,后续对文件进行修改过后,可以通过git commit -am "日志信息"来简化操作流程

Git版本回滚

  1. 查看历史记录
1
2
git reflog  #较简洁
git log #较详细
  1. 版本穿梭git reset
    在Git中,git reset 是一个用于撤销提交、回溯版本和调整工作目录或暂存区状态的强大命令。它主要有三种模式:–soft、–mixed 和 –hard,每种模式对应不同的操作。其基本语法如下:
    git reset [--mixed | --soft | --hard | --merge | --keep] [commit]
    1. –mixed 或不带选项(默认):移动 HEAD 指针并重置索引,不会修改工作区,撤销了提交和暂存的更改,但保留了工作区的修改。
    2. –soft: 只移动HEAD指针,暂存区和工作目录中的更改都会保留在工作目录中,以便再次提交。
    3. –hard: 移动 HEAD 指针并重置索引和工作区,彻底删除了提交以及暂存区和工作区的修改,慎用,因为会导致工作区的内容丢失
    4. –merge 和 –keep:较少常用,适用于特殊场景,前者尝试将HEAD指向的提交与指定提交之间的差异应用到当前工作目录,后者类似mixed,但保留未修改的文件。

soft mixed hard 区别以及reset用法

1
2
3
git reset [] HEAD^ #回退到上一版本(所有内容)
git reset [] HEAD^ test.txt #将指定文件回退到上一版本
git reset [] <_版本号> #回退到指定版本

HEAD 说明:

HEAD 表示当前版本

HEAD^ 上一个版本

HEAD^^ 上上一个版本

HEAD^^^ 上上上一个版本

以此类推…

可以使用 ~数字表示
HEAD~0 表示当前版本

HEAD~1 上一个版本

HEAD^2 上上一个版本

HEAD^3 上上上一个版本

以此类推…

Git分支操作

  1. 创建分支
    创建分支相当于把主分支复制一份,在分支上编辑不影响主分支
1
git branch <_name>
  1. 切换分支
1
2
git checkout <_name>    #切换到已有的分支
git checkout -b <_name> #创建一个分支并立即切换到此分支
  1. 查看当前分支
1
git branch -v   #查看分支

创建分支
其中,*表示目前所在的分区
4. 删除分支

1
git branch -d <_name>
  1. 合并分支
    首先切换到你需要合并的分支,假设你要将b_test 分支合并到master分支。
1
2
3
git checkout master #切换到master分支

git merge b_test #将b_test合并到当前所在分支(b_test不受影响)

在没有合并冲突的情况下,合并分支更像是将b_test分支直接拷贝到master分支下。
例如:master内容如下:
master文件
b_test分支内容如下:
b_test文件

合并过后会将test2.txt文件删除,复制python.py文件。text.txt文件内容与分支保持一至

合并冲突

当合并的两个分支中有冲突的部分时,会出现合并冲突。
Git会将冲突文件以下图方式展示出来,我们需要手动修改冲突部分。
合并冲突
修改完成后需要重新git add git commit冲突的文件
合并冲突解决
即可恢复正常

Git与远程仓库

  1. 添加远程库
    要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,命令格式如下:
1
git remote add <_name> <_url>
  1. 将本地分支推送到服务器
1
git push origin(远程库名) master(分支名)
  1. 拉取云端代码到本地
1
git pull origin(远程库名) master(分支名)
  1. git fetch 与git pull
    git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。而git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。

git使用
http://blog.ulna520.com/2024/07/10/git使用/
Veröffentlicht am
July 10, 2024
Urheberrechtshinweis