vscode打开有一大堆git未跟踪怎么办_Git常用操作简洁整理

fe3eaca1ef15fd5e6bcda33d32bd6863.png

0 使用 git 前准备

1 初始代码包上传(针对一个项目的代码)

2 远程克隆代码

3 如何删除远程存储库Repositories内的文件

4 本地修改或增加文件后同步至远端

5 远端修改或增加文件后同步至本地

6 撤销操作

7 修改提交 Git reset复位(三个选项)

8 Git HEAD 游离的解决办法

9 分支操作

10 使用标签

11 Git标准注解


0 使用 git 前准备

0.1 注册Github账户

0.2 创建 Repositories,新建仓库可勾选 initialize this repository with a README

0.3 安装Git工具,分windows和lunux系统

0.4 配置Git环境,打开终端输入如下命令,3次回车生成密钥文件,找到后与github端绑定

ssh-keygen -t rsa -C "79225****@qq.com"

0.5 验证配置是否成功

ssh -T git@github.com

此处可能会出现如下错误,直接输入yes回车即可

The authenticity of host 'github.com (52.74.223.119)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)?

0.6 配置身份标识用户名和密码

git config --global user.name "userName"
git config --global user.email "79225****@qq.com"

1 初始代码包上传(针对一个项目的代码)

1.1 建立文件目录

途径1:推荐方法是在远端github新建Repositories,然后clone到本地

途径2:本地建立工作目录,和远程Repositories同名,然后执行 $ git init,添加远程仓库管理,代码如下

git remote add origin git@github.com:userName/仓库名.git

1.2 对工作目录内的文件增删、修订之后

git add . 或者 $ git add <某个文件>
git commit -m "提交信息"
git status 可多次使用查看状态; $ git log 查看提交记录
git push git@github.com:用户名/仓库名.git

1.3 注意:如果使用途径2新建的可能push没效果,因为远端仓库有别的文件,此时运行

git push --all -f

进行强制覆盖至此,就可在远端github仓库看到上传的文件了

2 远程克隆代码

2.1 运行如下命令

git clone git@github.com:lochinasc1017/文件夹名.git

地址协议除了HTTP(s)以外,还支持SSH、Git、本地文件协议等

2.2 克隆的代码也有提交记录等信息

2.3 如果远程代码有更新,为了是本地与远程一致,编辑代码前可以执行拉去操作

git pull

3 如何删除远程存储库Repositories内的文件

3.1 首先从远程仓库把代码同步下来

一种方法使用 git clone

另一种如果远端文件更改了,就 git pull 来更新本地文件, 分支如果没跟踪就设置跟踪

git branch --set-upstream master(本地分支) origin/master(远端分支)

3.2 手动删除本地目录内的文件

git add .
git commit -m "提交信息"
git push <远程主机名> <远程分支名>或者Repositories的SSH地址

4 本地修改或增加文件后同步至远端

本地操作包括:修改文件内容、新建文件、新增含文件的文件夹

git add .
git commit -m "提交信息"
git push

5 远端修改或增加文件后同步至本地

远端操作包括:修改文件、添加文件、添加文件夹

git pull

6 撤销操作

6.1 本地修改且未添加到暂存区的恢复

git checkout <修改文件名>

注:使用提交的记录进行恢复,也可恢复工作树中删除的文件

6.2 本地修改且已添加到暂存区的恢复

git checkout head -- string.py(恢复的文件名)

6.3 恢复至某一次提交(本方法不推荐)

git checkout <commit ID>

注意这种操作会把HEAD指针移到上面的ID 提交上,容易使HEAD游离,要慎重使用

7 修改提交 Git reset复位(三个选项)

git reset --soft <commit ID>   仅移动HEAD指针位置,移动之后HEAD原来指向的提交ID还在,用于只取消提交
git reset --mixed <commit ID>    移动HEAD位置,索引被修改,用于取消修改过的索引
git reset --hard <commit ID>    HEAD位置、索引、工作树均被修改,用于彻底取消提交
git reset --hard HEAD~(以ID相对位置更改提交)   HEAD~表示HEAD的前一次提交

上述三个操作不太熟悉,图解示意图见OneNote笔记

8 Git HEAD 游离的解决办法

Git reset 复位指针时,容易出现指针游离,比如 $ git checkout < commit id>,即切换到指定的某一次提交,HEAD 就会处于 detached(游离状态)

优点:HEAD 处于游离状态时,我们可以很方便地在历史版本之间互相切换,比如需要回到某次提交,直接 checkout 对应的 commit id 或者 tag 名即可

缺点:在这个基础上的提交会新开一个匿名分支,也就是说我们的提交是无法可见保存的

解决办法:新建一个分支保存游离状态后的提交

git branch -v   # 查看当前领先多少
git branch temp   # 新建temp分支
git checkout temp   #把当前代码放到新建分支
git status
git checkout master   #回到原来的分支
git merge temp   #合并分支
git status
git diff    # 如果有冲突,就修改源文件,然后再add和commit
git branch -d temp    # 删除临时新建的分支

9 分支操作

将当前工作add和commit

git branch <branchname>    # 新建分支
git checkout <branch>     # 切换分支,在本分支提交,历史记录会记录在本分支
git checkout master    # 切换到 master 分支
git merge <待合并的分支>    # 合并
git branch -d <分支名>    # 删除不用的分支

并行操作

建立分支2和分支3并分别在相应的分支修改、add、commit
切换到master分支,合并分支2, fast-forward模式合并
合并分支3会出现冲突,因为与分支2在同一行进行了修改
git diff   # 在冲突的地方,生成了内容的差异,然后去文件里修改
执行 add 和 commit   # 这也完成了合并,这种手动更改的合并成为non fast-forward

10 使用标签

git tag -a 'Release_1_0' -m 'Tagged basic string operation code' HEAD    # 标记当前HEAD指针,如果要标记特定提交,则使用相应的 <commit ID>
git push origin tag Release_1_0   # 推送到远程 Repositories
git tag -l   # 查看标签
git show <tagname>  # 显示更详细的标签信息
git tag -d <tagname>  # 删除标签,标签名比如 Release_1_0

11 Git标准注解

第1行 提交修改内容的摘要

第二行 空行

第三行以后 修改的理由

一份易上手的教程: Git教程

子模块使用-参考链接

git中submodule子模块的添加、使用和删除_开发工具_guotianqing的博客-CSDN博客​blog.csdn.net
d5549bef763a59eb62a45e8bdc7ff227.png

未完待续。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值