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若暂存数据只有一份,则用该命令可实现恢复工作状态,并从暂存列表中移除,相对上面执行上面两条命令。