Git的常用操作总结

2020-10-16  本文已影响0人  Binary_r

Git初始化绑定用户

git config --global user.email "你的邮箱"
git config --global user.name "你的用户名"

生成ssh密匙

一般生成的密匙文件在C:\Users\用户.ssh目录下

ssh-keygen -t rsa -C "你的邮箱"

image.png

将密匙配置到GitHub

image.png

项目绑定远程仓库

git初始化本地仓库

git init

将本地仓库与远程仓库进行绑定

git remote add origin 远程仓库的URL

//例如 git remote add origin https://github.com/gujunling/test.git

上传代码流程

git stash 备份当前工作区的内容
git pull 下载git仓库的代码同步到本地
git stash pop 读取最近一次保存的内容,恢复工作区

全局搜索 “>>>”

如果产生冲突

找到对应位置解决冲突,选择保留正确的代码

git add -A . 将所有改动文件加入git暂存区

提交代码到本地仓库

第一次提交:

git commit -m "message"

多次提交,且前一次没有提交到远程仓库:

git commit --amend

提交代码到远程仓库

git push origin 分支名称

其他常用命令

git status 查看当前状态

git branch 查看本地所有分支

git branch -a 查看所有的分支

git branch -r 查看远程所有分支

git branch dev 建立一个新的本地分支dev

git checkout dev 切换到远程dev分支

git fetch 相当于是从远程获取最新版本到本地

git merge origin/dev 将分支dev与当前分支进行合并

git log 看你commit的日志

git diff:是查看 workspace(工作区) 与 index(暂存区) 的差别的。

git diff --cached:是查看 index(暂存区) 与 local repositorty(本地仓库) 的差别的。

git diff HEAD:是查看 workspace 和 local repository 的差别的。(HEAD 指向的是一次提交)

git stash list读取Git栈内的所有备份
git stash clear 清空Git栈

fetch和 pull的区别

git fetch:相当于是从远程获取最新版本到本地,不会自动merge

<pre>git fetch origin master
git log -p master..origin/master
git merge origin/master</pre>

以上命令的含义:
首先从远程的origin的master主分支下载最新的版本到origin/master分支上
然后比较本地的master分支和origin/master分支的差别
最后进行合并

image.png

上述几个命令可以用以下替代

<pre>git fetch origin master:tmp
git diff tmp
git merge tmp</pre>

git pull:相当于是从远程获取最新版本并merge到本地

其实相当于git fetch 和 git merge

在实际使用中,git fetch更安全一些
因为在merge前,我们可以查看更新情况,然后再决定是否合并

遇到问题时的处理

git add 错误:

撤销上次 add 里面的所有更改的文件
git reset HEAD

撤销某个文件
git reset HEAD filename

git commit 错误:
查看节点
git log

撤销上一次的 commit
git reset commit_id

还没有 push 的时候:
回退到上一个代码提交的节点,代码还是自己修改过的
git reset commit_id

git reflog 查看你本地提交记录
git reset --hard HEAD@{2} 回退到本地最新代码的位置

GIt修改仓库地址

git remote set-url origin XXXX地址

上一篇下一篇

猜你喜欢

热点阅读