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仓库的意思。
等待上传....上传成功