本地
git init 初始化,命令会在你项目的根目录下创建一个新的 .git 目录,其中包含了你项目必需的 ... 比如,指定某个Git 仓库为中央仓库
git status 查看状态
git add a.file
添加文件,此时文件添加到提交缓存中,可以使用git rm —cached 移除这个缓存
git commit main.c
-m 'first commit’ 提交到服务器,-m表示log
注意:如果没有在commit后没加上-m说明修改了什么,会自动进入vim界面要求输入修改信息按键上的i代表开始输入内容,输入完毕之后,esc :q退出
git中的add 和 svn的不太一样,svn只需要一次但是 git每次新建或者修改都需要add
git commit -m “*****”
总结:未添加之前的颜色: 红色,代码在“工作区”
添加到暂存区之后的颜色: 绿色,代码在“暂存区”
git log 所有log信息
git reflog main.c
查看所有修改信息(所有版本)
git branch 查看分支信息
git branch a 新建一个a分支
git chockout 回退到上一次提交的版本[未提交时]
git reset --herd HEAD 强制恢复上一个已提交版本
git checkout a 切换到a分支
git checkout -b a 新建一个a分支 并切换到a分支
git merge a 切换到master 然后执行改行代码 合并a分支
git branch -d a 删除d分支
git branch -D a 强制删除a分支
git tag v1.0 在当前代码状态下新建一个v1.0的标签。
git tag 查看所有标签
git checkout v1.0 切换到v1.0的代码
远程
SSH
验证电脑连接到github :
ssh -T git@github.com
git pull origin master 把最新代码更新到本地
git push origin master 把本地代码推送到远程master分支
提交代码:
1.clone到本地,然后直接commit,再执行 git push origin master
2.本地已有项目test2,在github上建一个test的项目,再把本地的test2的所有代码commit记录提交到githu的test项目:
0.1 在GitHub建一个test项目。
0.2 本地test2 和GitHub的test关联:先切换test2目录
git remote add origin git@github.com:illaclv/test.git【orgin 是远程仓库名, 后面为地址】查看所有远程仓库命令:git remote -v
0.3 提交代码
git push origin master
——其他
1.用户名和邮箱:
git config --global user.name ‘'
git config --global user.email ‘’
2.别名
git config --global alias.co checkout
git config --global alias.psm ‘push origin master’
查看日记
git log --graph --pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset%s%Cgreen(%cr)%C(blod blue)<%an>%Creset’--abbrev-commit --data=relative
其他配置
git config --global color.ui true【开启git着色】
diff
git diff <id2><id2>比较两次提交之间的差异
git diff <branch1>..<branch2>比较两分支之间的差异
git diff --staged比较暂存区和版本库的差异
checkout
1.切换分支:git checkout develop [切换到develop分支]
2.切换tag : git checkout v1.0
git checkout aaaaaaaa[版本号]
3.还原文件(只能还原还未添加到暂存区的文件) git checkout a.md
stash
封存还未commit的代码
git stash
git stash list 【暂存区多一条记录】
现在切换其他分支。等完成其他的工作,再切换回来,恢复之前的代码:
git stash apply
git stash drop [删除暂存区的记录]
git stash pop == apply + drop
git stash clear 清除暂存区所有的记录
merge &rebase
git checkout master->切换到主分支
git merge a->合并a分支
或者 git rebase a ->合并a分支
分支相关
远程推送分支
git push origin a
git push origin a :b 【在远程的服务器取名为b】
本地分支列表 git branch
远程分支列表 git branch -r
删除远程分支 git push origin :a
下载远程分支到本地:git checkout a origin/develop
下载远程分支到本地并切换到该分支:git checkout -b a origin/develop
一些问题:
fatal: remote origin already exists.
1、先删除远程 Git 仓库
git remote rm origin
2.重新添加远程库
git remote add origin git@github.com:illaclv/test.git