备注:
1:设置用户名邮箱
git config --global user.name ""
git config --global user.email ""
查看邮箱用户名:git config user.name
查看配置状态:git config --list
2:创建版本库(仓库),可以为不同的仓库设置不同的用户,并初始化仓库
进入具体盘符下的仓库存放文件夹:(新建文件夹)mkdir filename
pwd :显示当前目录
进入上一级:cd ..
git init :生成.git文件夹
3:提交修改文件(不支持图片视频等的监控)
git add file
git commit -m +注释
git status查看当下分之文件状态是否有变化
git differ file 查看文件前后修改内容
4:查看提交Log
git log:显示最近三次提交logId以及内容
git log -pretty=oneline :简略显示
5:版本回退
git reset --hard HEAD^^^(^的次数代表回退的次数),如果多次用HEAD~(+次数)
6:查看文件内容
cat file
7:获取修改提交内容以及版本号
git reflog
8:根据版本号回退
git reset --hard 版本号
9:版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。
每次我们把修改的代码先存放在缓存区,然后通过commit放进当前分支
10:撤销修改
git checkout -- file(区分创建分支命令git checkour branch)
文件在工作区做的修改全部撤销,这里有2种情况:第一,文件自动修改后,还没有放到暂存区,使用 撤销修改就回到和版本库一模一样的状态。第二,readme.txt已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态。
11:删除文件
方式:第一直接文件夹下删除,第二,命令 rm file,然后commit,在没有commit之前,可以撤销删除: git checkout -- file
第一次实践主要命令:
git add .
git commit -m ""(可以是文件夹文件名 方便以后查看本次修改的东西)
git push origin lym/0729
git checkout master(回到master)
git pull
如果多次提交,想要修复成一次提交:
git log --graph
远程库Github配置环境:
1:上边的配置只能允许Git本地管理,如果要远程提交代码,需要配置SSH 秘钥
ssh-keygen -t rsa -C "email"(ssh后边没有空格)
选择路径,默认,则出现了.SSH文件以及下面的.rsa &.rsa.pub
copy 公共秘钥rsa,提交。
2:登录github上,然后在右上角找到“create a new repo”创建一个新的仓库
把本地的仓库推送同步到Github远程库中,
git remote add origin https://github.com/tugenhua0707/testgit.git
3:master是一个时间串线,连接起所有commit的东西
HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支
4:查看所有分支
git branch
5:当在一条分支修改完之后,回到主分支master,看不到文件的修改,此时需要merge之前在分支上的修改到主master上
git merge 分支
6:此时查看文件,已经同步。cat file
7:merge完成,删除之前的分支:git branch -d branchname
但是通常合并分支时,git一般使用”Fast forward”模式,在这种模式下,删除分支后,会丢掉分支信息,采用如下命令避免该模式
git merge –no-ff -m “注释” branch
8:当需要不同的工作空间时,我们可以隐藏当前的分支工作空间,临时创建新的分支
git stash(隐藏当前分支)
git status(当前工作空间是干净的)
创建新的临时分支,修改内容,add,commit,merge(避免fast forward),删除临时分支,回到以前分支,git checkout oldbranch(此时还是干净的)
8:恢复工作空间
git stash list
恢复:
git stash apply,之后删除stash:git stash drop
git stash pop 恢复的同时删除stash
实际上,远程库的默认名称是origin,
- 要查看远程库的信息 使用 git remote
- 要查看远程库的详细信息 使用 git remote –v
推送本地内容到远程库:
git push origin master
一般情况下,那些分支要推送呢?
- master分支是主分支,因此要时刻与远程同步。
- 一些修复bug分支不需要推送到远程去,可以先合并到主分支上,然后把主分支master推送到远程去。
多人协作时,大家都会往master分支上推送各自的修改,
首先要把dev分支也要推送到远程去,git push origin branch,
克隆远程的库到本地来 git clone url
把远程的origin的dev分支到本地来git checkout –b branch origin/branch,修改,push,git push origin branch
推送有冲突,先用git pull把最新的提交从origin/dev抓下来,然后在本地合并,解决冲突,再推送