config配置
-
git config --global user.name "YourName"
添加名字。 -
git config --global user.email "YourEmail"
添加邮箱。
ssh认证
-
ssh-keygen -t rsa -C "YourEmail"
创建公钥和私钥。 - 将
~/.ssh/id_rsa.pub
文件中的内容添加到https://github.com/settings/keys
或Repositories-Settings-Deploy keys
里。 - 若
id_rsa
不在~/.ssh
中或非默认名,Git无法正确定位私钥,需要使用ssh-agent bash
和ssh-add ID_RSA_FILE
来导入私钥。
init初始化
-
git init
初始化Git库。 -
git remote add <name> <url>
添加远程Git库。 -
git pull <name> <branch>
下载远程Git库。 - 加入暂存区。可通过
git status
查看变化的文件,快速添加:
git add -u
(仅加入modify)
git add .
(加入modify和new,不包括delete)
git add -A
(加入所有变化) -
git commit -m "note"
提交暂存区到本地Git库 -
git push -u <name> <branch>
上传至远程Git库
clone克隆
-
git clone <github-url>
克隆某个库 -
git pull <name> <branch>
下载数据
branch分支
-
git branch -a
查看所有分支。 -
git checkout -b <name>
创建分支并进入该分支。 -
git checkout <name>
切换至某分支。 -
git branch -m <old-name> <new-name>
修改分支名称。 -
git branch -D <name>
删除某分支。
merge合并
下面以将dev
分支合并入master
为例:
-
git checkout master
切换回master
分支。 -
git merge dev --no-ff -m "note"
将dev
并入master
分支,推荐使用--no-ff
选项,可保留合并记录。
stash暂存
[!] 分支未提交的情况下,无法直接切换至其他分支。若需要保留分支的工作状态,并切换至其他分支,则需要用stash
暂存工作状态。一般用于紧急修复BUG的情况。
-
git stash
暂存工作状态 -
git checkout <issue-branch>
切换至其他分支。 -
git checkout <working-branch>
返回工作分支。 -
git stash list
查看所有暂存数据。 - 恢复工作状态:
git stash apply <stash@{n}>
恢复某个工作状态。若不指定<stash@{n}>
,默认恢复最顶一个工作状态。恢复后暂存列表中依旧存留暂存的数据。
git stash drop <stash@{n}>
删除某个工作状态,若不指定<stash@{n}>,默认删除最顶一个工作状态。
git stash pop
若暂存数据只有一份,则用该命令可实现恢复工作状态,并从暂存列表中移除,相对上面执行上面两条命令。