一,Git的工作区和暂存区
Git管理的文件分为:工作区,版本库,版本库又分为暂存区stage和暂存区分支master(仓库)
工作区>>>>暂存区>>>>仓库
git add把文件从工作区>>>>暂存区,git commit把文件从暂存区>>>>仓库,
git diff查看工作区和暂存区差异,
git diff --cached查看暂存区和仓库差异,
git diff HEAD 查看工作区和仓库的差异,
git add的反向命令git checkout,撤销工作区修改,即把暂存区最新版本转移到工作区,
git commit的反向命令git reset HEAD,就是把仓库最新版本转移到暂存区
二,撤销修改
1.没有git add时,用git checkout – file
2.已经git add时,先git reset HEAD <file>回退到1.,再按1.操作
3.已经git commit时,用git reset回退版本
4.推送到远程库,GG?
三,删除
rm xxx是把该文件从暂存区删除
git rm xxx是把该文件从版本库中删除,与手动删除的效果相同.
四,push到github上.
1.在github上创建与本地仓库一样的库名.
2.git remote add origin “地址栏中的路径”
如:git remote add origin https://github.com/DUAN27-gz/learngit
3.git push -u origin master
(-u是第一次push到远程仓库用的目的是让本地仓库与远程仓库合并)
如:git push -u origin master,之后就可以不用加-u
五,从远程仓库clone到本地仓库
git clone 远程仓库的地址
六,创建分支合并分支
D:\GitRepos\learngit>git checkout -b dev
Switched to a new branch ‘dev’
D:\GitRepos\learngit>git branch
* dev
master
D:\GitRepos\learngit>git add readme.txt
D:\GitRepos\learngit>git commit -m "branch test"
[dev 0a92e68] branch test
1 file changed, 2 insertions(+), 1 deletion(-)
D:\GitRepos\learngit>git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
D:\GitRepos\learngit>git branch
dev
* master
D:\GitRepos\learngit>git merge dev
Updating a74036e..0a92e68
Fast-forward
readme.txt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
D:\GitRepos\learngit>git branch
dev
* master
D:\GitRepos\learngit>git branch -d dev
Deleted branch dev (was 0a92e68).
D:\GitRepos\learngit>git branch
* master
七.
dell@DESKTOP-547T549 MINGW64 /d/GitRepos/JAVA/Final_assignment
$ git init
Initialized empty Git repository in D:/GitRepos/JAVA/Final_assignment/.git/
dell@DESKTOP-547T549 MINGW64 /d/GitRepos/JAVA/Final_assignment (master)
$ git add .
dell@DESKTOP-547T549 MINGW64 /d/GitRepos/JAVA/Final_assignment (master)
$ git remote add origin https://gitee.com/AAaaAAaaDFX/JavaCode.git
dell@DESKTOP-547T549 MINGW64 /d/GitRepos/JAVA/Final_assignment (master)
$ git commit -m “second commit”
dell@DESKTOP-547T549 MINGW64 /d/GitRepos/JAVA/Final_assignment (master)
$ git branch
* master
dell@DESKTOP-547T549 MINGW64 /d/GitRepos/JAVA/Final_assignment (master)
$ git branch b2
dell@DESKTOP-547T549 MINGW64 /d/GitRepos/JAVA/Final_assignment (master)
$ git branch
b2
* master
dell@DESKTOP-547T549 MINGW64 /d/GitRepos/JAVA/Final_assignment (master)
$ git checkout b2
Switched to branch ‘b2’
dell@DESKTOP-547T549 MINGW64 /d/GitRepos/JAVA/Final_assignment (b2)
$ git push -u origin b2