git fetch
与git pull
区别
-
git fetch
是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。 -
git pull
则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge
,这样可能会产生冲突,需要手动解决
get revert
与git reset
区别
- git revert 回退到目标版本,保留目标版本之后的版本。
- git reset 回退到目标版本,目标版本之后的版本也全都回退了。
git rebase 将本地多次commit合并成一个,简化提交历史
- rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。
.git stash
把当前工作现场“储藏”起来,等以后恢复现场后继续工作
git stash list
查看刚才的工作现场存到哪去了git stash apply
恢复,但是恢复后,stash内容并不删除,你需要用git stash drop
来删除git stash pop
恢复的同时把stash内容也删了git stash apply stash@{0}
恢复指定的stash
.cd ~
进入用户主目录
.cat <file>
查看文件
.ssh-keygen -t rsa -C "youremail@example.com"
创建SSH Key
.git push
把本地库的内容推送到远程
已有项目关联至远程新库
$ git remote add origin git@server-name:path/repo-name.git
关联一个远程库$ git push -u origin master
第一次推送master分支的所有内容
远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。
远程库是空的,第一次推送master分支时,加上了-u,Git不但会把本地的master分支内容推送的远程新的master分支,还会把两者关联起来,在以后的推送或者拉取时就可以简化命令。$ git push origin master
从现在起,只要本地作了提交,就可以通过命令:
.git remote
查看远程库的信息
git remote -v
更详细的信息git push origin master
推送时,要指定本地分