0%

Git常用命令小结

Linux


码云

1. 添加公钥

生成/添加 SSH 公钥

1
ssh-keygen -t rsa -C "[email protected]"

SSH 公钥设置

1
ssh -T [email protected]

2.创建仓库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 全局配置用户名和邮箱
git config --global user.name "xxx"
git config --global user.email "[email protected]"

# 没有现成的项目
mkdir xxxx
cd xxxx
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/xxx/xxxx
git push -u origin master

# 有现成的项目
cd xxxx
git remote add origin https://gitee.com/xxx/xxxx
git push -u origin master

Git 基本操作

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
# 检查状态,每次操作最好都要查看状态
git status

# 本地有文件没有提交的话,需要将未提交文件添加到到暂存区(红色为未添加到暂存区的,绿色表示正常)
git add .

# 本地提交
git commit -m "xxxx"

# 关联本地仓库和码云仓库
cd xxxx
git remote add origin https://gitee.com/xxx/xxxx
git push -u origin master
# 输入码云账号密码

# 创建分支
git checkout -b 分支名称

# 查看所有分支 前面带*位当前分支
git branch

# 提交本地代码到码云
git push

# 合并分支到master分支
# 1、切换到master分支
git checkout master
git branch
# 2、本地合并分支到master分支
git merge xxxx # xxxx代表分支名称
# 3、提交本地master分支代码到码云
git push
# 4、本地分支推送到码云
git checkout xxxx # xxxx代表分支名称
git branch
git push -u origin xxxx # 第一次推送分支代码到码云,xxxx代表分支名称

# 代码测试没问题,需要本地合并子分支到主分支,将主分支上传到码云,最后将分支也上传到码云

git clone -b xxx url # 克隆xxx分支代码


Git 忽略不想提交的文件

1
2
3
4
5
6
7
8
9
# 1.使用.gitignore 要求需要忽略的文件是未追踪状态,也就是说没有被git add 过
# 2.如果已经add 过可以使用以下命令取消追踪
# 会删除文件的追踪状态,不会删除本地文件,git push后是会删除远程仓库内的文件的
git rm --cached file/path
#3.需要忽略的文件是仓库内必须的,但需要忽略本地改动(也就是说远程仓库中不能删除),如一些配置文件
git update-index --assume-unchanged file/path
#这个命令可以忽略已经是追踪状态的文件,但是无法将这个忽略状态提交至远程仓库,只对当前本地工程有效
#取消忽略:
git update-index --no-assume-unchanged file/path

PowerShell 解决中文乱码

1、在 PowerShell 中输入以下命令

1
2
3
4
5
git config --global core.quotepath false
git config --global gui.encoding utf-8
git config --global i18n.commit.encoding utf-8
git config --global i18n.logoutputencoding utf-8
$env:LESSCHARSET='utf-8'

2、在系统环境变量中添加变量 LESSCHARSET 为 utf-8.

git pull 时解决分支分叉(branch diverged)问题

git pull 时出现分支冲突(branch diverged)

1
2
3
4
$ git status
# On branch feature/worker-interface
# Your branch and 'origin/br_dev' have diverged,
# and have 1 and 4 different commit(s) each, respectively.

解决办法:
1、查看哪个 commit 冲突
git cherry origin/br_dev

2、回退到冲突的前一个 commit
git reset –hard

3、更新代码
git pull

Git 撤销&回滚操作(git reset 和 get revert)