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常用命令的主要内容,如果未能解决你的问题,请参考以下文章

:常用工具命令第25节:常用命令 - Git命令

Git常用命令收集

Git常用命令

Git常用命令

Git常用命令

Git常用命令