git学习记录

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地址

切换分支时被拒绝

  • 将修改进行提交
    • git add . : 将修改的文件添加到暂存区
    • git commit -m "xxx" : 将暂存区提交到版本库,完成一次提交
    • git checkout target-branch-name :再次执行切换命令
  • 使用参数 --force 执行强制切换,但会导致修改部分被覆盖。
    • git checkout --force target-branch-name
  • 对修改文件暂存
    • git stash : 将修改文件进行暂存
    • git stash pop 暂存记录标识 : 将某一具体的暂存的记录恢复
    • git stash list : 查看暂存文件的列表
posted @ 2023-08-24 11:12  duuuuu17  阅读(27)  评论(0编辑  收藏  举报