Contents

版本控制-git-个人笔记

git文档

配置代理

CSDN慕白Lee

.gitconfig文件,放etc(全部用户生效)或者~(当前用户生效)

1
2
3
4
5
6
7
[http]

	proxy = 192.168.171.1:8888
 
[https]

	proxy = 192.168.171.1:8888

配置全局.gitignore

ZhuGaochao 博客园

  1. 新建一个文件(不一定非得叫.gitignore)
  2. 在用户目录的.gitconfig文件(用户范围生效)或者git安装目录下(所有用户生效)添加:[core]excludesfile = 新建文件的绝对路径
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
.DS_Store
*/.DS_Store
*.class
*.iws
*.iml
*.ipr
.idea
.idea/*
*.bak
target
target/*
.gradle/
.DS_Store
.project
.settings/
*.pyc
*.log
*.stats
*.apk
*.ap_
*.dex
gen/
local.properties
proguard/
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
*.hmap
*.ipa
.metadata/
.metadata/*
*.log
pids
*.pid
*.seed
lib-cov
coverage
.grunt
.lock-wscript
build/Release
node_modules

git丢弃历史commit

芒草的梦呓 blog

第一步:创建独立的新分支

1
git checkout --orphan latest_branch

–orphan 选项:创建一个独立分支并切换到该分支,该分支没有历史提交记录。但是对于打了tag的分支会保留最新tag之前的所有历史提交记录

第二步:将需要的文件进行一次提交

1
2
git add -A
git commit -m "commit message"

第三步:删除需要清除历史记录的分支,并将当前分支名修改为该分支

1
2
git branch -D main
git branch -m main

第四步:关联本地分支到远程

1
git branch --set-upstream-to=origin/main

第五步:将本地更改推送到远程分支

1
git push -f origin main

推送tag到远程仓库

1
git push origin --tags

删除分支

1
2
3
4
5
6
# 删除本地分支
git branch -d <branch>
# 删除远程分支
git push origin --delete <branch>
# 删除追踪分支
git branch --delete --remotes <remote>/<branch>

查看本地分支

1
git branch -avv

拉取远程仓库有但是本地没有的分支

1
git checkout -b branch_name origin/branch_name

git pull 命令并不会自动创建新的本地分支来跟踪远程的新分支。如果你想要检出一个远程仓库的新分支,你仍然需要使用上面这个命令

注意,如果你本地git branch xxx创建分支,然后git checkout xxx切换分支,然后git branch -u设置上游分支,最后git pull的时候由于你本地相当于已经有一个commit了,所以需要你merge或者rebase才能pull,这样会在本地留一个脏节点

git解决代码冲突

  1. 确定冲突:首先,你需要确定冲突的位置。Git会在你尝试合并冲突的分支时给出提示。你也可以通过运行git status来查看冲突的文件
  2. 打开冲突文件:然后,打开含有冲突的文件。你将看到Git用«««<, =======, »»»>标记出的冲突区域。这些区域显示的是两个冲突的分支的不同更改
  3. 解决冲突:现在,你需要决定如何解决这个冲突。你可能会保留一个分支的更改,或者将两个分支的更改合并起来。这需要你根据实际代码和项目需求来判断。你需要手动编辑代码,删除Git插入的«««<, =======, »»»>行,并确保留下的代码是你希望的最终版本
  4. 提交冲突:解决冲突后,你需要将解决冲突的文件添加到暂存区,然后提交。可以使用以下命令完成
1
2
git add file-name
git commit -m "Resolve merge conflict"

git push -u origin

自动创建并推送本地分支的远程分支

取消merge

1
git merge --abort

重命名分支

1
git branch -m [old-branch-name] new-branch-name

省略old-branch-name时表示当前分支

撤销修改

1
2
3
4
5
6
# 撤销暂存区文件
git reset .
# 撤销修改文件
git checkout .
# 删除新增工作区文件
git clean -fd
  • Git reset HEAD <文件名>:将暂存区中文件的更改撤销,即将文件恢复为最近一次提交的状态。这个命令只影响暂存区,工作区中的文件保持不变。
  • Git reset –hard :将当前分支的HEAD指针移动到指定的,并将工作区和暂存区都恢复到指定的提交状态。这个命令会完全丢弃当前所有的修改,慎用。
  • Git reset –soft :将当前分支的HEAD指针移动到指定的,但保留工作区和暂存区的修改。这个命令可以用于撤销一次提交,但保留之前的修改
 |