VScode中使用git进行版本控制
一、安装与配置
-
安装命令
sudo apt-get install git
-
查看版本
git --version
-
配置提交人姓名:
git config --global user.name 提交人姓名
-
配置提交人邮箱:
git config --global user.email 提交人邮箱
-
查看git配置信息:
git config --list
二、初始化和提交本地仓库
-
进入目标文件夹
cd /home/ied/vue/03_vuecli
-
初始化git仓库:
git init
-
查看文件状态:
git status
-
追踪文件,跟踪所有文件
git add .
:git add 文件列表
-
向本地仓库中提交代码:
git commit -m 提交信息
-
查看提交记录:
git log
三、提交到远程仓库
-
查看分支:
git branch
-
给远程仓库取个简单的别名(常用第一步骤):
git remote add 远程仓库地址别名 远程仓库地址
。例:git remote add 名字 https://地址
-
让git记住地址与分支(-u 记住推送地址与分支,下次推送只需要输入
git push
即可)(常用第二步骤):git push -u 远程仓库地址别名 分支名称
# 第一次提交 git push -u 名字 分支 # 以后提交 git push 名字 分支
-
这时候会让输入账户和密码,输入后传输完成。
四、克隆和拉取
1. 克隆
-
克隆远程仓库到本地(本地没有该仓库):
git clone 仓库地址
。例:git clone https://地址
2. 拉取
拉取方式有两种,一种是 pull,拉取仓库到本地会直接覆盖原有代码。一种是 fetch-merge,拉取的时候会先保存在分支中,以供对比,确认覆盖才会覆盖原有代码。
fetch 比 pull 更安全
-
pull
拉取远程仓库中的最新版本(本地有该仓库):git pull 仓库别名 分支名称
git pull 别名 分支
-
fetch-merge
拉取远程仓库中的最新版本(本地有该仓库):git fetch 仓库别名 分支名称
拉取到本地的分支中后,进行对比:git log -p FETCH_HEAD
或git log -p 仓库别名/分支名称
对比完后确认覆盖:git merge FETCH_HEAD
或git merge 仓库别名/分支名称
git fetch 别名 分支 git log -p 仓库别名/分支名称 git merge 仓库别名/分支名称
vsc 可以用过 GUI 操作。
五、修改后的提交
- 当我们修改了一个文件,右侧的 git 会提示有1个文件未跟踪。
- 点击加号添加跟踪文件,然后点击 √ 提交文件。
- 提交文件的时候会要求输入提交信息,随便输一个就可以。
- 点击左侧同步更改,然后输入用户密码。
六、免密提交
-
在本地,创建 ssh 密钥文件
-
复制公钥到 github 或 gitee 上
-
测试,出现 successfully 就说明成功。
ssh -T [email protected]
-
修改远程库指向为 ssh 方式
# 查看关连远程库 git remote -v # 删除 git remote rm cli # 添加 ssh 方式 git remote add cli [email protected]:地址
-
现在提交或拉取就不需要再输入密码了
七、其他命令
1. 撤销
-
用暂存区中的文件覆盖工作目录中的文件:
git checkout 文件名
-
将文件从暂存区中删除:
git rm --cached 文件名
-
将git仓库中指定的更新记录恢复出来,并且覆盖暂存区和工作目录:
git reset --hard commitID
2. Git 分支命令
主分支(master):第一次向 git 仓库中提交更新记录是自动产生的一个分支。
开发分支(develop):作为开发的分支,基于 master 分支创建。
功能分支(feature):作为开发具体功能的分支,基于开发分支创建。
-
查看分支:
git branch
-
创建分支:
git branch 分支名称
-
切换分支:
git checkout 分支名称
-
合并分支:
git merge 来源分支
-
删除分支(分支被合并后才允许删除)(-D 强制删除):
git branch -d 分支名称
3. 暂时保存更改
-
存储临时改动:
git stash
-
恢复改动:
git stash pop
4. 同时提交多个仓库
需求是同时提交到 gitee 和 github,但是只从 gitee 拉取。
git remote set-url --push --add 仓库地址1
git remote set-url --push --add 仓库地址2
git remote set-url --push --add ...
然后查看本地仓库 .git/config
,默认只从 gitee 拉取。