git常用命令
Posted muyeyi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git常用命令相关的知识,希望对你有一定的参考价值。
安装git
安装好后找到 Git Bash, 输入
git config --global user.name ‘用户名‘
git config --global user.email ‘邮箱‘
Git的工作方式: 使用 git init 会将当前文件夹初始化为一个仓库, 仓库中会自动生成一个 .git 目录,叫做Git的版本库,文件夹下.git目录外的其它空间叫做工作区.
版本库中主要有暂存区(stage), 主分支(master), 指向主分支的指针(HEAD),我们用add提交到暂存区, 再用commit提交到当前分支
Git的优点: Git管理的是文件的修改, 而不是文件.
常用命令
初始化仓库:
git init
查看仓库中文件状态:
git status
将工作区中的修改添加到暂存区:
git add 文件名
将暂存区中的修改添加到主分支:
git commit -m ‘备注信息‘
丢掉工作区的修改, 回到最近一次 add 或 commit 时的状态:
git checkout -- 文件名
将暂存区的修改撤回到工作区中:
git reset HEAD 文件名
查看仓库中具体文件的更改信息:
git diff 文件名
查看版本库提交日志:
git log
查看版本库简略日志:
git log --pretty=oneline
回退版本: HEAD~n, 表示当前版本的前n个版本
git reset --hard HEAD~n
返回到未来的版本, 需要知道版本的(commit id)
git reset --hard 哈希值
查看命令日志
git reflog
删除文件:
rm 文件名
将删除命令添加到缓存区
git rm 文件名
分支管理
创建分支
git branch 分支名
切换分支
git checkout 分支名
或 git switch 分支名
创建并切换到分支
git checkout -b 分支名
或 git switch -c 分支名
合并后删除分支
git branch -d 分支名
合并前强制删除分支
git branch -D 分支名
查看分支,当前分支前面会标记一个*号
git branch
合并指定分支到当前分支
git merge 分支名
当分支合并冲突时,先解决冲突再提交,
查看分支的合并情况
git log --graph --pretty=oneline --abbrev-commit
直接使用 git merge 分支名 合并,使用的是Fast forward模式, 它会直接将当前所在的分支指向要合并的分支(HEAD -> 当前分支, 要合并的分支),所以合并的非常快
如果想要保留分支信息, 通过 --no-ff 可以禁用Fast foreard模式变为普通模式, 这样, Git会在merge时生成一个新的commit, 用来存放合并后的当前分支, (HEAD->当前分支), 而要合并的分支会保留下来
git merge --no-ff -m ‘备注‘ 要合并的分支名
保存当前分支快照
git stash
查看当前分支快照
git stash list
恢复但不删除快照
git stash apply
git stash apply stash@{数字}
恢复且删除快照
git stash pop
git stash pop stash@{数字}
将别的分支的修改在当前分支上执行一次
git cherry-pick 别的分支的commit
连接github
1.本地仓库和远程仓库的传输需要SSH加密, 创建SSH Key:
ssh-keygen -t rsa -C ‘邮箱‘
会在用户主目录下生产 .ssh目录,里面有两个文件,为SSH key的密钥对,id_rsa 是私钥, id_rsa.pub是公钥
2.在github中settings中找到 SSH and GPG keys -> new SSH key, 然后添加将公钥粘贴进去,保存.
3. 创建远程仓库, new repository 然后填写仓库名, 信息, 保存
4.关联本地仓库与远程仓库
git remote add origin git@github.com:用户名/远程仓库名.git
或者直接用网址: git remote add origin https://github.com/用户名/远程仓库名
本地仓库和远程仓库使用命令:
把本地仓库中master分支内容提交到远程仓库中:
git push -u origin master
第一次提交需要加上-u,表示将本地master分支和远程mester分支关联起来,这样下次提交就只要输入:
git push origin master
查看远程库信息
git remote -v
将远程仓库克隆到本地,放在当前路径下:
git clone git@github.com:用户名/远程仓库名.git
或: git clone https://github.com/用户名/远程仓库名
在本地建立与远程仓库分支对应的分支
git checkut -b 本地分支名 origin/远程分支名
多人合作开发时,当你和你的同伴同时推送到同一个分支时
git push origin 远程分支名
如果发生冲突,需要通过 git pull 将提交从远程库中抓下来
git pull
如果 git pull 失败, 需要指定本地分支和远程库分支的连接
git branch --set-upstream-to=origin/远程分支名 本地分支名
在抓取提交
git pull
手动解决冲突后,然后提交
git pull origin 远程分支名
给当前commit设置标签:
git tag 标签名
git tag -a 标签名 -m ‘备注‘ 分支的id
查看标签信息:
git tag
git show 标签名
删除标签
git tag -d 标签名
参考自廖雪峰的Git教程:https://www.liaoxuefeng.com/wiki/896043488029600
以上是关于git常用命令的主要内容,如果未能解决你的问题,请参考以下文章