0%

Git 基础

初始配置

配置用户名密码,告诉Git你是谁

1
2
git config --global user.name "xxx"
git config --global user.email "xxx@gmail.com"

创建代码库

1
git init

文件管理

1
2
3
4
5
6
7
8
9
10
11
# 把文件放入暂存区
git add <name>

# 把文件从暂存区移除
git rm --cached -r <file>

# 删除文件
git rm <name>

# 移动/改名
git mv <file> <newfile>

版本管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 提交
git commit -m <comment>

# 撤销工作区的修改,恢复成暂存区的内容
git checkout -- <file>

# 放弃暂存区的内容
git reset HEAD <file>

# 看由近到远的提交历史,可看3次
# 如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数
git log

# 查看命令历史
git reflog

# 版本回退,HEAD表示当前版本,HEAD^表示上一版本,HEAD^^表示前两个版本,HEAD~100表示前100个版本…
git reset --hard HEAD^
# 也可以直接用commit id回退,commit id可以只写前几位
git reset --hard 3628164

分支

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 查看分支
git branch

# 创建分支
git branch <name>

# 切换分支
git checkout <name>

# 创建并切换分支
git checkout -b <name>

# 合并某分支到当前分支
git merge <name>

# 删除分支
git branch -d <name>

标签

1
2
3
4
5
6
7
# 查看所有标签
git tag

# 添加新标签,name是要打的标签的名字,默认打在最新的commit上,也可以指定commit_id打标签
git tag <name> [commit_id]
# 还可以打带说明的标签,-a指定标签,-m指定说明
git tag -a "v1.0" -m "1.0 released" [commit_id]

远程仓库

1
2
3
4
5
6
7
8
9
10
11
# 查看远程仓库
git remote

# 查看仓库地址
git remote -v

# 添加远程仓库
git remote add <别名> <地址>

# 删除远程仓库
git remote remove <name>

提交代码到Github

HTTP提交

1
2
3
4
# 没有配置远程仓库别名
git push https://github.com/user/repo master
# 配置了远程仓库别名
git push origin master

SSH提交

1
2
3
4
5
6
7
8
9
10
11
12
# 配置SSH协议的远程仓库
git remote add origin git@github.com:user/repo.git

# 生成SSH公钥
ssh-keygen -t rsa -C "email@github.com"

# 把id_rsa.pub内容添加到Github的公钥中
# 之后再push本地仓库到远程就不用密码了

# 测试
ssh -T git@github.com
# Hi username! You've successfully authenticated, but GitHub does not provide shell access.
  • 本文作者: 失去梦想的咸鱼
  • 本文链接: https://iuok.me/posts/32569/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!