git-bash操作简记

ssh配置

1
2
3
4
5
6
#使用以下命令生成 SSH Key
ssh-keygen -t rsa -C "youremail@example.com"
#查看生成的密钥
cat ~/.ssh/id_rsa.pub
#验证是否成功
ssh -T git@github.com

1. git add

1
2
3
4
5
6
7
8
9
10
#清除暂存区缓存
git rm -r --cached .
#添加一个或多个文件到暂存区
git add [file1] [file2] ...
#添加指定目录到暂存区
git add [dir]
#添加当前目录下的所有文件到暂存区
git add .
#添加当前项目文件到暂存区
git add -A

2. git status

1
2
3
4
#git status 命令用于查看在你上次提交之后是否有对文件进行再次修改
git status
#使用 -s 参数来获得简短的输出结果
git status -s

3. git diff

1
2
3
4
5
6
7
8
9
10
11
#git diff 命令比较文件的不同,即比较文件在暂存区和工作区的差异。
#git diff 命令显示已写入暂存区和已经被修改但尚未写入暂存区文件的区别。

#尚未缓存的改动
git diff [file]
#查看已缓存的改动
git diff --cached [file]
#查看已缓存的与未缓存的所有改动
git diff HEAD
#显示摘要而非整个diff
git diff --stat

4. git commit

1
2
3
4
5
6
#git commit 命令将暂存区内容添加到本地仓库中。

#提交暂存区到本地仓库中,附加备注信息
git commit -m [message]
#不需要执行 git add 命令,直接来提交
git commit -a

5. 设置提交代码时的用户信息

1
2
git config --global user.name [name]
git config --global user.email [email]

6. git reset

1
2
#git reset 命令用于回退版本,可以指定退回某一次提交的版本。
git reset [--soft | --mixed | --hard] [HEAD]

7. git rm

1
2
3
4
5
6
#将文件从暂存区和工作区中删除
git rm <file>
#强行从暂存区和工作区中删除修改后的 runoob.txt 文件:
git rm -f runoob.txt
#把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可
git rm --cached <file>

8. git mv

1
2
3
4
#git mv 命令用于移动或重命名一个文件、目录或软连接
git mv [file] [newfile]
#如果新文件名已经存在,但还是要重命名它,可以使用 -f 参数
git mv -f [file] [newfile]

9. git log - 查看历史提交记录

10. git remote

1
2
3
4
5
6
7
8
9
10
11
#显示所有远程仓库
git remote -v
#添加远程版本库
git remote add [给他取名] [url]
#例子:提交到 Github
git remote add origin git@github.com:tianqixin/runoob-git-test.git
git push -u origin
# 删除远程仓库
git remote rm name
# 修改仓库名
git remote rename old_name new_name

11. git fetch

1
2
3
4
5
6
7
#以上命令将服务器上的任何更新(假设有人这时候推送到服务器了)合并到你的当前分支。
#然后我们在本地更新修改
git fetch origin
#以上信息"0205aab..febd8ed main -> origin/main" 说明 main 分支已被更新,我们可以使用以下命令将更新同步到本地:
git merge origin/main
#查看 README.md 文件内容:
cat README.md

12. git pull

1
2
3
4
5
6
#git pull 命令用于从远程获取代码并合并本地的版本。
#git pull 其实就是 git fetch 和git merge FETCH_HEAD的简写

git pull <远程主机名> <远程分支名>:<本地分支名>
#例子
git pull origin main

13. git push

1
2
3
4
5
git push <远程主机名> <本地分支名>:<远程分支名>
#删除主机的分支可以使用 --delete 参数,以下命令表示删除origin主机的master分支
git push origin --delete master
#如果本地版本与远程版本有差异,但又要强制推送可以使用 --force 参数
git push --force origin master

Git进阶

1. 上传后打不开文件夹(出现白箭头)

这是因为其他工程下有.git文件,Github视其为子系统模块。

删除文件夹下的.git文件即可

1
2
3
4
git rm --cached <File Name>
git add .
git commit -m "delete .git"
git push

2. 克隆dev分支并合并到main分支

1
2
3
4
5
6
7
8
9
10
11
12
13
# 拉取指定分支
git clone -b dev [git仓库地址]
# 为了保险起见,可以将远程master分支pull下来
git pull
# 切换到main分支
git checkout main
# 将分支代码合并到main上
git merge dev
git merge master --allow-unrelated-histories
# 在本地合并分支,我们还要将主分支推到远程仓库
git push origin


附:


git-bash操作简记
http://nangbowan.github.io/2022/09/01/Git操作简记/
作者
Science_Jun
发布于
2022年9月1日
许可协议