由于长时间在学校没有用过github了,一些命令倒是知道,但是实际操作版本管理时经常会遇到版本冲突,果然还是得自己多提交几次,最好几个人一块提交乐趣趣多多。。
基础知识
用户签名
首次安装Git时,一定要设置,主要用来标识身份,让本地Git客户端知道是谁提交了代码。(与github提交代码无关)
下载完Git和乌龟后,配置git得用户签名,这里可以先看看是否已经配置。
在C盘->用户->zy->.gitconfig得文件中有记录。没有的话自己再设置一把。
git config --global user.name 用户名
git config --global user.email 邮箱
git init
git init
表示在当前的项目目录中生成本地的git管理
git status
查看当前分支及当前目录的状态
如图,在一个空目录下初始化,查看状态,表示没有可追踪和提交的文件。
在目录下新建文件,然后查看状态,提示该文件未被追踪,可以添加追踪。
也就是放进暂存区。
git add
git add
将代码放到暂存区中。
暂存区中的文件是不影响版本控制的,顾名思义就是用来需要时,暂时放点东西。
比如,以后遇到代码冲突时,可以借助暂存区了。(以后再说)
如果以后不需要暂存的代码,可以从暂存区删除。
注意:只是不放在暂存区而已,物理上文件还在目录下呆着呢,就是不被git所追踪了而已。
git commit
将暂存区的代码提交到本地仓库
本地仓库里就有了本地的各个版本了。这步如果本地有多个用户,都提交代码,那么可能会遇到版本冲突了。而且在本地仓库,也会涉及到分支的管理。
git commit -m "日志信息" 文件名
$ git reflog # 查看本地仓库当前的版本情况
dec7ef3 (HEAD -> master) HEAD@{0}: commit (initial): first commit
历史版本
git reflog
查看版本信息
git log
查看版本的详细信息
git reset --hard 版本号
可以将指针指向某个历史版本,进行版本穿梭。
分支管理
创建分支:git branch dev
查看本地分支:git branch -v
切换分支:git checkout test
合并分支:git merge test
分支合并时冲突
这时最常见的,如果master分支下有最新的版本修改,test分支下也有最新的修改版本,我再想让master合并test分支,一定会发生冲突。
例如:
test分支基于master下创建。
master 修改 x = A
test 下修改 x = B
master合并test分支,发生冲突
github
查看远程库:git remote
创建远程库别名:git remote add ori https://github.com/bluepopo/javase-test.git
推送分支到远端:git push 远端别名 本地分支
git push ori master