1. 下载 git
2. 生成 ssh 密钥,执行ssh-keygen -t rsa -C "公司内部邮箱地址"
3. 切换到 ~/.ssh 目录,ls 打开当前文件,复制其中id_rsa.pub
的内容
4. 在仓库中添加 ssh key,比如 code 中,点击页面右上方的SSH Key,把id_rsa.pub
的内容粘过来
5. 全局配置 git 的用户名和邮箱
git config --global user.name "xxx"
git config --global user.email "[email protected]"
注:https 方式需要每次提交前都手动输入用户名和密码,ssh 的方式配置完毕后 Git 都会使用你本地的私钥和远程仓库的公钥进行验证是否是一对秘钥,从而简化了操作流程
git 工作流程
workspace:工作区(本地编辑器)
index:暂存区(git add 后移入)
repository:本地仓库(git commit 后移入)
remote:远程仓库(git push后移入)
git 基本操作
1. git add
# 添加某个文件到暂存区,后面可以跟多个文件,以空格区分
git add xxx
# 添加当前更改的所有文件到暂存区。
git add .
2. git commit
# 提交暂存的更改,会新开编辑器进行编辑
git commit
# 提交暂存的更改,并记录下备注
git commit -m "you message"
# 等同于 git add . && git commit -m
git commit -am
# 对最近一次的提交的信息进行修改,此操作会修改commit的hash值
git commit --amend
3. git pull
# 从远程仓库拉取代码并合并到本地,可简写为 git pull 等同于 git fetch && git merge
git pull <远程主机名> <远程分支名>:<本地分支名>
# 使用rebase的模式进行合并
git pull --rebase <远程主机名> <远程分支名>:<本地分支名>
4. git fetch
# 获取远程仓库特定分支的更新
git fetch <远程主机名> <分支名>
# 获取远程仓库所有分支的更新
git fetch --all
5. git branch
# 新建本地分支,但不切换
git branch <branch-name>
# 查看本地分支
git branch
# 查看远程分支
git branch -r
# 查看本地和远程分支
git branch -a
# 删除本地分支
git branch -D <branch-nane>
# 重新命名分支
git branch -m <old-branch-name> <new-branch-name>
git 一些场景
1. git rebase
和 git merge
可以看到 rebase 后 feature 先是逐个应用了 master 分支的更改,然后以 master 分支最后的提交作为基点,再逐个应用 feature 的每个更改。
* 大部分情况下,rebase 的过程中会产生冲突的,此时,就需要手动解决冲突,然后使用依次 git add
、git rebase --continue
的方式来处理冲突,完成 rebase 的过程,如果不想要某次 rebase 的结果,那么需要使用 git rebase --skip
来跳过这次 rebase 操作。
与 git rebase 相比,会产生一条额外的提交记录。merge 只需要解决一次冲突。
2. 用 git cherry-pick
获取指定的 commit
---当只想将某一次的提交合入到本地当前分支时使用
3. git revert
和 git reset
git revert
---撤销某次操作,但此操作不会修改原本的提交记录,新增一条提交记录来抵消某次操作
# 针对普通 commit
git revert <commit-id>
# 针对 merge 的 commit
git revert <commit-id> -m
另外 git revert
也可以回滚多次的提交
# 注意这是一个前开后闭区间,即不包括 commit1 ,但包括 commit2
git revert [commit-id1] [commit-id2] ...
git reset
会直接将提交记录退回到指定的 commit 上
对于个人的 feature 分支而言,可以使用 git reset
来回退历史记录,之后使用 git push --force
进行推送到远程
4. git stash
暂存文件
git stash //把本地的改动暂存起来
git stash save "message" 执行存储时,添加备注,方便查找。
git stash pop // 应用最近一次暂存的修改,并删除暂存的记录
git stash apply // 应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即 stash@{0},如果要使用其他个,git stash apply stash@{$num} 。
git stash list // 查看 stash 有哪些存储
git stash clear // 删除所有缓存的 stash
5. git status
查看当前状态
6. 配置 git alias
提升工作效率
git config --global alias.<简化的字符> 原始命令
标签:git,--,rebase,stash,使用,commit,分支 From: https://www.cnblogs.com/Hailey-hwx/p/17435446.html