git和远程仓库建立连接详细过程
建立远程仓库
首先在github/gitee上创建自己的一个仓库,并将自己的路径复制下来,如下图。建立本地仓库
本地新建文件夹存储工程文件,并且初始化仓库。 打开gitbash并输入git init
进行初始化。本地仓库和远程建立连接
使用下面指令进行连接,其中地址为建立远程仓库步骤中复制的路径。
git remote add origin "路径'
将远程分支拉取到本地
拉取远程分支git pull origin develop(远程分支名称)
查看当前仓库状态
git status
如果当前仓库状态有更新先将其添加入暂存区
git add .
这里的.
表示将所有的进行一个添加。
提交并推送到远程分支
提交并添加备注
git commit -m "备注信息"
推送到远程分支
git push origin develop(远程分支名称)
git使用过程一些指令的注意点
git merge
和git rebase
的区别
都是合并历史记录,但是各自特性不同。merge 通过merge合并分支会新增一个merge commit,然后将两个分支的历史联系起来。其实是一种非破坏性的操作,对现有分支不会以任何方式被更改,但是会导致历史记录相对复杂。 rebase rebase会将整个分支移动到另一个分支上,有效地整合了所有分支上的提交。主要的好处是历史记录更加清晰,是在原有提交的基础上将差异内容反映进去,消除了 git merge所需的不必要的合并提交。 总结来说就是git merge
的历史记录更复杂,因为所有commit
(包括不必要的合并提交)都存在,而git rebase
是重整基线,不必要的合并提交会消除,历史记录更加清晰。git pull
和git fetch
的区别
相同点 在作用上他们的功能是大致相同的,都是起到了更新代码的作用。 不同点git pull
是相当于从远程仓库获取最新版本,然后再与本地分支merge
,即git pull = git fetch + git merge
。相比起来,git fetch
更安全也更符合实际要求,在merge
前,我们可以查看更新情况,根据实际情况再决定是否合并。 总结来说就是git pull
比git fetch
多了一个合并的操作。git reset
和git revert
的区别
git revert
是用一次新的commit
来回滚之前的commit
,git reset
是直接删除指定的commit
。git reset
是把HEAD
向后移动了一下,而git revert
是HEAD
继续前进,只是新的commit
的内容和要revert
的内容正好相反,能够抵消要被revert
的内容。撤销(revert
)被设计为撤销公开的提交(比如已经push
)的安全方式,git reset
被设计为重设本地更改,如果回退分支的代码以后还需要的情况则使用git revert
, 如果分支是提错了没用的并且不想让别人发现这些错误代码,则使用git reset
。两个命令的目的不同,它们的实现也不一样:重设完全地移除了一堆更改,而撤销保留了原来的更改,用一个新的提交来实现撤销。