git知识点,常用命令

git理论知识

git的服务器端(remote)端包含多个repository,每个repository可以理解为一个项目。

而每个repository下有多个branch。"origin"就是指向某一个repository的指针。服务器端的"master"(强调服务器端是因为本地端也有master)就是指向某个repository的一个branch的指针。

这是服务器端(remote)的情况:

本地的情况:

而在本地电脑(local)上:"master"就是指向刚刚从remote server传到本地的副本branch。

使用 git add 命令将想要快照的内容写入缓存区,
使用 git commit命令则将缓存区内容添加到仓库中。

也就是说,git add是让文件进入第二个状态(staged),而git commit是让文件进入第三个状态(committed)。顺便git commit -m "xxx"可以提交注释

$git push A B:C     其中A和C是分别remote端的一个repository的名字和branch的名字,B是本地端branch的名字

意思是把本地的B推送到remotes/A/C下。当B=C时可以直接省略为:git push A B。比如:

"git push origin master:master" 可以直接省略为"git push origin master".

origin指向的是repository,且可以有多个不同的(origin2,origin3...),master只是这个repository中默认创建的第一个branch。当你git push的时候因为origin和master都是默认创建的,所以可以这样省略,但是这个是bad practice,当换一个branch再git push的时候,有时候就纠结了

 

git当前仓库设置

查看当前git用户名: git config user.name

查看当前git邮箱: git config user.email

Git 全局设置:

切换git用户名: git config --global user.name "YOURUSERNAME"

切换git邮箱: git config --global user.email "YOUREMAIL"

示例如下:

git config --global user.name "神经蛙"
git config --global user.email "yanl55555@163.com"
git config --global credential.helper store

创建 git 仓库:

mkdir leetcode-advanced-guide
cd leetcode-advanced-guide
//初始化本地分支名即master
git init
touch README.md// 如果已有项目,则使用git add .
git add README.md //如果已有项目,则使用git add .
//提交注释
git commit -m "first commit"
//origin即远程主机别名
git remote add origin https://gitee.com/yanl55555/test.git
//-u即推送到指定的upstream上流,
//最后面的master即<本地分支名>:<远程分支名>均为master时候的缩写
git push -u origin master

可能的异常:

问题描述:在git bash中键入 $ git push -u origin master 进行提交的时候出现 如下错误:

error: failed to push some refs to

问题原因:远程库与本地库不一致造成的,在hint中也有提示,先把远程库同步到本地库就可以了【先pull一遍再push】。

解决办法:使用命令行:

git pull --rebase origin master

 

最后一步,输入git push -u origin master,这是把代码上传到github仓库的意思。

 

等待上传....上传成功

 
posted @ 2019-10-27 19:20  月半大熊猫  阅读(191)  评论(0编辑  收藏  举报