第1章 Git
git 英译:饭桶,无用的人
Git 发展由来
Git 版本控制
版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统。
版本控制发展
1、本地式(自己电脑)
2、集中式(需要联网)
3、分布式(git)
版本控制好处
■速度快 (自己有本地仓库,SVN受网络等影响)
设置简单
非线性开发模式
完全分布式(避免单点故障)
第1章 第一章
1.1 Git介绍
Git 是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何项目及文件。
1.2 环境安装:
1.2.1 下载
官方下载 https://git-scm.com/
第二步选择 click here to download manually
注意这个下载有点慢网速好的建议点击click here to download manually下载,经过测试可以右击 click here to download manually 选择迅雷或其他下载工具下载(推荐快)
1.1.1 安装客户端工具
在“Configuring the line ending conversions”选项中,
第一个选项:如果是跨平台项目,在windows系统安装,选择;
第二个选项:如果是跨平台项目,在Unix系统安装,选择;
第三个选项:非跨平台项目,选择
安装客户端工具
1.1.1 启动git
打开后进入 git 软件界面(可对文件和项目管理)
推荐 git 中文网站https://git-scm.com/book/zh/v2
第1章 git报错
xuebao@DESKTOP-8QV2RMH MINGW64 /d/project-git (master) $ git add -A warning: LF will be replaced by CRLF in file.txt. The file will have its original line endings in your working directory. 解决方法: $ git config core.autocrlf false 报错二git pull 失败 ,提示:fatal: refusing to merge unrelated histories 关于这个问题,可以参考http://stackoverflow.com/questions/37937984/git-refusing-to-merge-unrelated-histories。 在进行Git pull 时,添加一个可选项 git pull origin master --allow-unrelated-histories
4.1 Git 工作流程
workspace 工作区 工作区:
index 指数暂存区:可以通过回退工作区
repository 知识库 本库(本地):速度快
remote :GitHub 远程版本库
1.1 Git 文件变化状态周期
untracked 工作区 :未跟踪需要 add (新增一个文件,不会被git管理,需要add 文件到暂存区,才能被发现)
unmodified 未改性的 (未被修改的)
modified改进的 修改 (修改了,)
staged 上演 暂存区 ()
新加文件一次,文件修改是叠加的。
1.2 git 文件状态操作
1.1.1 打开git bash (windos系统下操作,有linux基础命令最好)
4.3.1.1 进入 d盘 红色为命令操作 xuebao@DESKTOP-8QV2RMH MINGW64 ~ $ cd d: 4.3.1.2 ls查看目录结构 xuebao@DESKTOP-8QV2RMH MINGW64 /d $ ls $RECYCLE.BIN Program\ Files\ (x86) 360WiFi project-2 360安全浏览器下载 project-git 4.3.1.3 创建一个project-get 文件夹 $ mkdir project-get xuebao@DESKTOP-8QV2RMH MINGW64 /d $ ls 4.3.1.4 cd project-get/ 进入目录 xuebao@DESKTOP-8QV2RMH MINGW64 /d $ cd project-get/ ls –a 查看 文件和隐藏文件 xuebao@DESKTOP-8QV2RMH MINGW64 /d/project-get $ ls -a ./ ../ 4.3.1.5 git 第一个命令 git init 创建本地版本库 在自己需要项目路径下 git init xuebao@DESKTOP-8QV2RMH MINGW64 /d/project-get $ git init Initialized empty Git repository in D:/project-get/.git/ 4.3.1.6 ls –a 查看隐藏文件 xuebao@DESKTOP-8QV2RMH MINGW64 /d/project-get (master) $ ls -a ./ ../ .git/ 里面有.git/ 说明这个项目或者文件被git管理,一定要ls –a查看.git/是影藏文件 vim 创建一个文件 按i 编辑 xuebao@DESKTOP-8QV2RMH MINGW64 /d/project-get (master) $ vim test.txt 里面写着 add a file 按esc 退出 输入:wq (记得将输入法调成英文模式。)
4.3.1.7 cat 查看内容
xuebao@DESKTOP-8QV2RMH MINGW64 /d/project-get (master)
$ cat test.txt
add a file
4.3.1.8 第二个命令 查看git 状态
git 默认分支 master (git可以创建多个分支)
xuebao@DESKTOP-8QV2RMH MINGW64 /d/project-get (master)
$ git status
On branch master #在我们master分支上
Initial commit
Untracked files: #未被git跟踪的状态需要使用 git add
(use "git add ..." to include in what will be committed)
test.txt
nothing added to commit but untracked files present (use "git add" to track)
xuebao@DESKTOP-8QV2RMH MINGW64 /d/project-get (master)
4.3.1.9 git add 加添加文件名字
xuebao@DESKTOP-8QV2RMH MINGW64 /d/project-get (master)
$ git add test.txt
再次查看状态 git status 待提交状态
$ git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached ..." to unstage)
new file: test.txt
git commit –m “” 提交 “”-m 可以
$ git commit -m "add test.txt"
[master (root-commit) 9aa6434] add test.txt
1 file changed, 1 insertion(+)
create mode 100644 test.txt
4.4 进入项目目录创建一个版本库
xuebao@DESKTOP-8QV2RMH MINGW64 /d/project-git
$ git init
Initialized empty Git repository in D:/project-git/.git/
查看项目被Git 所管理 .git/
xuebao@DESKTOP-8QV2RMH MINGW64 /d/project-git (master)
$ ls -a
./ ../ .git/ file.txt
4.5 创建一个file文件
$ cat file.txt
add a file
4.6 查看git状态
# master git 分支
xuebao@DESKTOP-8QV2RMH MINGW64 /d/project-git (master)
$ git status
On branch master
Initial commit
Untracked files:
(use "git add ..." to include in what will be committed)
file.txt
nothing added to commit but untracked files present (use "git add" to track)
提交
$ git add file.txt
xuebao@DESKTOP-8QV2RMH MINGW64 /d/project-git (master)
$ git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached ..." to unstage)
new file: file.txt
4.7 备注方便以后查看
$ git commit -m "add a file"
[master (root-commit) dcb1e37] add a file
1 file changed, 1 insertion(+)
create mode 100644 file.txt
再次修改
$ git status
On branch master
Changes not staged for commit:
#git add 提交
(use "git add ..." to update what will be committed)
# git checkout 返回到版本库
(use "git checkout -- ..." to discard changes in working directory)
modified: file.txt
no changes added to commit (use "git add" and/or "git commit -a")
4.8 工作区-暂存区-本地版本库
第1章 Git 常用命令
5.1 文件推送 先进入目录,把项目管理用 命令:git init 5.2 git目录 bin/ cmd/ dev/ etc/ git-bash.exe* git-cmd.exe* LICENSE.txt mingw64/ ReleaseNotes.html tmp/ unins000.dat unins000.exe* unins000.msg usr/
常用命令:
常用命令:
git add 添加文件
git rm 删除文件
git status 查看文件变更状态
git commit 提交文件到版本库
git push 推送到远程仓库
状态
$ git status
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
.classpath
.project
.settings/
bin/
src/
5.3 推送到github
$ git push –u 相关联 xuebao@DESKTOP-8QV2RMH MINGW64 ~/workspace/git-study (master) $ git remote add origin https://github.com/zhangxuebao/git-study.git
5.4 查看和远程分支的关系
$ git remote -v origin https://github.com/zhangxuebao/git-study.git (fetch) origin https://github.com/zhangxuebao/git-study.git (push)

















