简单使用 Git

[TOC]

一、入门

1、简单配置

1
2
3
4
5
6
7
8
9
10
11
12
# 1、初始配置
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱地址"
git config --global credential.helper store # 保存全局账号密码

git config --list # 查看配置信息
git add . # 添加
git rm <filename> # 删除
git commit -m "这一步操作的名字" # 保存到本地仓库
git push origin master # 推送到远端仓库
git status # 查看状态,上一步的修改记录
git log # 查看历史记录

2、项目在本地,推送到远程

1
2
3
4
5
6
7
8
9
10
11
cd <项目的文件夹>                  #【工作区:working dir】
git init
touch README.md
<放项目文件等一系列操作>
git add . #【暂存区:stage 或 index】
git commit -m "first commit" #【仓库区:HEAD】
git remote add origin <server>
git push -u origin master # 使用-u选项指定一个默认主机
git push origin # 将当前分支推送到origin主机的对应分支

# 如果当前分支与多个主机存在追踪关系,则可以使用 -u 参数指定一个默认主机,这样后面就可以不加任何参数

3、项目在远程,下载并推送

1
2
3
4
5
6
7
8
git clone <server> # 项目地址 https://github.com/xxxx.git
git submodule update --init --recursive # 项目中带有submodule
cd <项目的文件夹>
# git pull origin master # 与远程同步,更新你的本地仓库至最新改动
<这里需要修改/添加文件,否则与原文件相比就没有变动>
git add .
git commit -m "第一次提交"
git push origin master

4、注意(本地和远程冲突)

1
2
3
4
5
6
7
# 按照本文档新建的项目时,在码云平台仓库上已经存在 readme 文件,
# 故在提交时可能会存在冲突,这时您需要选择的是保留线上的文件或者舍弃线上的文件。
# 如果您舍弃线上的文件,则在推送时选择强制推送,强制推送需要执行下面的命令:
git push origin master -f

# 如果您选择保留线上的 readme 文件,则需要先执行:
git pull origin master # 然后才可以推送

5、配置ssh key

1
2
3
4
5
ssh-keygen -t rsa -C 'xxx@xxx.com'  # 然后一路回车(-C 参数是你的邮箱地址)
打开文件 C:\Users\Administrator\.ssh\id_rsa.pub,复制内容
打开 github --> Settings --> SSH and GPG keys --> New SSH key
把上一步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字,点击Add key按钮
ssh -T git@github.com # 验证一下

二、分支操作

1
2
3
4
5
6
7
8
9
10
11
12
git branch                          # 查看分支
git branch xxx # 创建分支
git checkout xxx # 切换分支
git checkout xxx -- # 切换分支【有歧义】
git checkout -b xxx # 创建+切换分支
git branch -d xxx # 删除本地分支
git branch -D xxx # 强制删除本地分支
git push origin --delete xxx # 删除远程分支
git push origin xxx # 推送分支
git branch -m old_branch new_branch # 重命名分支
git merge xxx # 合并某分支到当前分支
git pull origin xxx # 关联远程分支

三、远程仓库操作

1
2
3
4
5
git remote add <name> <url>       # 添加一个远程仓库
git remote remove <name> # 删除一个远程仓库
git remote -v # 查看当前仓库对应的远程仓库地址
git remote rename old new # 仓库重命名
git remote set-url origin <url> # 修改别名对应的远程仓库地址

四、标签

1、添加标签:git tag -a <tagname> -m <操作名>

五、更新

1、同步远程和本地合并:git pull == fetch + merge

2、放弃本地,只要远程:git fetch origin

六、回退

1
2
3
4
5
6
7
8
9
10
11
git reset --hard 目标版本号  # 撤销commit,撤销git add,代码不留
git reset --soft 目标版本号 # 撤销commit,不撤git add,代码保留
git reset --mixed 目标版本号 # 撤销commit,撤销git add,代码保留 (同下)
git reset 目标版本号 # 撤销commit,撤销git add,代码保留 (这个好)

git commit --amend # 修改最后一次的commit消息,vim中编辑保存

git log # 查看历史
git rebase -i HEAD~n # 修改最后第n次的commit消息,把pick修改为edit,顺序跟git log相反
git commit --amend # 继续
git rebase --continue # 保存结果

七、忽略

  • 有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件等。
  • 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。

.gitignore 文件

1
2
3
4
5
*.log

temp.txt

data/
坚持原创技术分享,您的支持将鼓励我继续创作!
0%