git学习记录

发布时间 2023-08-24 11:17:23作者: duuuuu17

git推荐学习网址

图解git

推荐git基本指令的可视化练手网址

git配置

1.安装git主程序

2.创建git总仓库文件,此文件下放置各仓库

3.生成公钥

ssh-keygen -t rsa -C 秘钥名

然后可以选择公钥文件名。路径:C:\Users\test\.ssh\id_rsa.pub

生成成功后,将公钥内容,复制到github的setting里的ssh模块下的配置里。

使用命令ssh -t git@github.com,验证是否成功

git常见指令

git clone

拉取一个本地仓库没有的文件。

git pull

拉取远程仓库的最新软件版本

git push github的ssh链接

将上传本地仓库至github。

git status

查看当前本地仓库新的未上传至仓库记录本的文件。

On branch main
Your branch is up to date with 'origin/main'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        mathmatic.md

git add 文件及路径

将需要上传的文件,从工作区提交至暂存区(需要注意的是该文件需要在仓库的.git文件同级或以下的文件层级))

git add ./test.txt

git commit -m

确认暂存区需要提交的文件,至仓库内。

git push推送工作区至

连接远程仓库

git remote -v  //查看远程仓库
git remote add <远程仓库别名> <url> //这样就不用每次输入仓库的git链接
例如:
git remote add DL git@github.com:xxx/xxx.git

有了提交的备注之后就可以把暂存区的文件推送到远程仓库

git push -u <远程版本库名> <分支名>

分支

git branch //查看分支
git branch <branchName> //创建分支
git checkout <branchName> //切换分支
git checkout -b <branchName> //综合上面两句,创建并切换分支
git branch -d <branchName> //删除branchName分支

冲突

对于遇到同一个文件不同人的修改同一区域,且上传时,此时需要将修改进行合并。

git diff      //默认工作区和暂存区比较
git diff --cached    //暂存区和HEAD比较
git diff --HEAD      //工作区和HEAD比较

回退

git revert

是生成一个新的提交来撤销某次提交,此次提交之前的commit都会被保留,只是将指定提交的代码给清除掉

git reset

是回到某次提交,提交及之前的commit都会被保留,但是此次之后的修改都会被退回到暂存区

merge和rebase

git merge:

记录下合并动作,很多时候这种合并动作是垃圾信息
不会修改原 commit ID
冲突只解决一次
分支看着不大整洁,但是能看出合并的先后顺序
记录了真实的 commit 情况,包括每个分支的详情

image-20230824110710033

git rebase:

改变当前分支 branch out 的位置
得到更简洁的项目历史
每个 commit 都需要解决冲突
修改所有 commit ID

git rebase --abort,rebase的所有操作撤销。

其作用是将另一个分支的提交信息全部移动到当前开发分支上

image-20230824110253973

git remote

git remote add Study-CS (url带有.git结尾)

git remote rm Study-CS,撤销远程配置

举例

配置远程仓库别名进行push

对于新创建的github仓库,使用git进行配置远程仓库

echo "# learning-basic" >> README.md
git init
git add README.md#git add 文件路径
git commit -m "first commit"#git commit -m "本次commit注释"
git branch -M master
git remote add origin git@github.com:xxx/xxx.git[github提供的ssh后缀为git链接]
git push -u origin master #git push -u 配置的远程仓库连接别名 分支

问题集

如果远程仓库为新建,出现版本报错问题

#前提:先将本地的文件拷贝至别处,然后。
#我们需要将在本地新建仓库,并初始化.使用:
git pull ssh地址#,将本地仓库版本与远程仓库版本一致
#然后,再将刚才拷贝备份的文件复制回来。
git add ./
git commit -m ""
#最后上传至远程仓库
git push ssh地址