#前言

一些git的操作记录,方便自己忘记之后查找~

git添加多个远程仓库

1
git remote set-url --add origin git@xm.onns.xyz:/home/git/paper.git

#参考链接

#push 和 pull 链接不同

你想从别人的分支克隆代码,但是你没有修改权限,你有另一个分支的修改权限。

1
git clone https://engagementhub.caixamagica.pt/virtual-factory-operating-system/vf-os-platform-environment-vf-p.git

然后你的.git/config长这样:

1
2
3
4
5
6
7
8
9
10
11
12
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = https://engagementhub.caixamagica.pt/virtual-factory-operating-system/vf-os-platform-environment-vf-p.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master

然后可以用下面的命令增加push的仓库:

1
git remote set-url --push origin git@git119:/home/git/vfos.git

再次查看.git/config

1
2
3
4
5
6
7
8
9
10
11
12
13
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = https://engagementhub.caixamagica.pt/virtual-factory-operating-system/vf-os-platform-environment-vf-p.git
fetch = +refs/heads/*:refs/remotes/origin/*
pushurl = git@git119:/home/git/vfos.git
[branch "master"]
remote = origin
merge = refs/heads/master

所以其实你手动添加一项pushurl也是可以的!

#参考链接

#删除 .DS_Store

.gitignore排除即可,官方文档说**/代表所有的目录下,所以只需要加下面两行:

1
2
**/.DS_Store
**/._.DS_Store

第二行也可以不用加,听说那个是别名,但是我目前没遇到过。

#参考链接

#合并最新的 master

1
git pull origin master

拉最新的 master 数据并且合并到当前分支

#回退某个文件到某个版本

1
git checkout md5 file_dir

#取消追踪 git 文件

1
2
3
4
# 文件
git rm --cached example.txt
# 目录
git rm --cached -r logs/

用于将先追踪过的文件,加入.gitignore并取消追踪。

#修改默认分支名为 main

= = 历史原因

1
git config --global init.defaultBranch main

#--amend

1
git commit -v --amend

把当前的修改追加到上一次commit中,相当于修改了分支信息,如果上一次修改已经在远端,需要强制推送。