Git基本用法,小白入门
-
第一步 初始化git仓储(在项目目录右键打开 git bash)
- 命 令:git init
- 会有.git隐藏文件, .git对我们项目代码进行备份
- 若是不小心关掉git bash窗口,可在还有.git目录下重新打开
-
第二步:设置当前用户名
- 命 令:
$ git config --global user.name “yourname”
$ git config --global user.email “[email protected]” - 没有警告就是完成
- 命 令:
-
第三步:将代码放到.git仓库
- 命 令:
- $ git add ./readme.txt
- add后跟文件目录,这里好比把代码放到门口(暂存区),
- $ git add ./
- 这样可直接将当前文件夹中的修改过的或者新添加的文件全部提交
- $ git commit -m “这个文件的说明”
- 将代码送入.git仓库内(版本库),工作区指当前文件
- 不加-m,会进入vi编辑器
-
第四步:查看当前状态
- 命 令: $ git status
- add之后
- commit之后
- 修改了文件之后
- 命 令: $ git status
-
第五步:一次性提交到.git仓库
- 命 令:$ git commit --all -m “说明文字”
- –all:表示将所有修改的文件提交到版本库
- 命 令:$ git commit --all -m “说明文字”
-
第六步:查看提交日志
- 命 令:
- $ git log
- 查看历史提交日志
- $ git log --oneline
- 查看简洁版日志
- $ git log
- 命 令:
-
第七步:版本回退
- 命 令:
- $ git reset --hard Head~0
- 版本回退到上0个
- $ git reset --hard Head~1
- 版本回退到上1个,以此类推
- 指定版本号回退:
$ git reset --hard 版本号- 可以切换到指定的版本,不管前后
- 可以切换到指定的版本,不管前后
- $ git reset --hard Head~0
- 查看所有提交的版本号:$ git reflog
- 命 令:
-
第八步:创建分支,查看分支
- 将未完成的任务提交到Name这个分支,其他操作一致。在分支中可查看之前在主分支中的操作。
- git branch 输出的分支中,带星号的分支为当前分支
- 融合时需要指定分支名
- 删除分支
- $ git branch -d Name
- 不能在当前分支删除当前分支
- $ git branch -d Name
- 如果已在分支中完成了一个任务,忘记合并,又在主分支master中做了一些操作,此时合并会报冲突,这时需要到文件中手动修改,然后提交。
-
提交到github上面(git != github)
-
操 作:在github界面,点击 + ,选择new repository,在repository name框中写入新建仓库名字,选中public,点击创建,待创建完成后,选中HTTPS
-
命 令: $ git push https://github.com/Chen-free/yes.git master
- 如果是初次上传会弹出输出GitHub用户名和密码的弹窗。上传完毕后,刷新GitHub项目页面,出现提交的文件则说明成功。
-
-
从GitHub上获取项目文件
- 法一:
- step1:在电脑新建一个文件
- step2:用 git init初始化该文件
- step3:获取需要下载的,GitHub上文件的HTTPS地址
- step4:在git bash窗口输入命令 :git pull https://github.com/Chen-free/yes.git master
- 下载完成后,git log命令查看后,可按q键退出
- 法二:
- 新建一个文件,在当前文件打开git bash,
- $ git clone https://github.com/Chen-free/yes.git
- 两种方法区别:
- pull多次执行不会覆盖,clone多次执行会覆盖本地内容
- 法一:
-
ssh方法上传到GitHub
- https的方式对于让他人往自己仓库里传东西并不安全方便,需要给对方自己的用户名和密码
- 生成公钥和私钥
- 在任意目录下打开git命令行
- $ ssh-****** -t rsa -C “[email protected]”
- 按下回车之后,根据提示直接按回车,或者y
- 完成后,在C:\Users\xxx.ssh
-
xxx:指用户名
-
双击打开.pub后缀名文件,直接ctrl+a ctrl+c,不改动一点
-
点击GitHub网站你的头像
-
选中setting,之后
-
$ git push [ssh地址] master
- 将本地文件上传到GitHub(相当于远程服务器)
-
$ git pull [ssh地址] master
- 在new repository完,选中SSH就可以获取ssh类型地址
-
- 如果对方提交修改后的文件到服务器,本地也做了修改,此时想push文件到服务器将会报错
- 先pull下服务器的文件,会出现
- 然后打开本地文件会出现
- HEAD:指本地
- 一串乱码:是自动生成的标识符,是服务器修改的部分。
- 这个时候就需要手动修改,然后提交到本地仓库,最后push到服务器(与分支合并之前又做修改的处理方法相同)
-
当前目录下,push、pull简写
- $ git remote add varName https://github.com/Chen-free/yes.git
- remote:远程
- varName:相当于https://github.com/Chen-free/yes.git地址了,一个变量名
- $ git [push/pull] varName master
- 之后变量名可以指代地址,但只能在当前项目
- $ git push varName -u master
- -u:将 本地master与远程master关联
- $ git push
- 关联之后,就可以直接这样使用,git pull同理
- $ git remote add varName https://github.com/Chen-free/yes.git
- 换了一个目录,-u 可能不起作用,这时候先执行 pull,把最新版本获取下来,然后再使用 -u,或者尝试这样写:git push -u varName master