一、安装git 安装步骤自行教程 ,可以使用第三方命令行,如cmder。
二、正式开始学习
1、进入目录,cd /c/Users/lenovo/Desktop/miaov
2、初始化git项目,git init // 会发现文件夹内多了个.git的文件夹(默认隐藏)
3、目录内创建一个 b.txt
4、输入 git status
// 上述表示b.txt 文件未被git追踪。
5、输入 git add b.txt
// 完成对b.txt的追踪
6、第一次使用git 需要配置用户名以及邮箱,作为用户的标识,输入命令如图。
7、输入git commit 进行提交,会弹出一个vim编辑模式。输入描述 然后保存:wq退出。
8、git log 打印日志 。
三、修改文件重新commit
1、对a.txt的内容进行添加(即修改)
2、git status 查看状态 以及 git commit 提交
3、提示 “未暂存的提交”,因为少了git add a.txt
4、再次进入输入描述模板
5、按以下步骤完成提交
引申内容:
1、git的管理文件的三种状态:已修改 已暂存 已提交。
2、git的工作流: 工作目录(工作中创建或修改的文件),暂存区域(暂存的文件),git仓库(找到暂存文件并提交更新)
四、文件全部提交缓存区 git add .
git add . // 可以添加所有改动过的文件以及未追踪的文件进入暂存区。
五、git命令行中文乱码问题
文件名乱码:
git config --global core.quotepath false
描述乱码
六、git commit 的扩展
git commit -m “<描述信息>” // 会将暂存区的文件提交
git commit -a -m “<描述信息>” // 会将文件提交暂存区,然后再将暂存区文件提交
注:第二个扩展必须对已追踪文件才能适用。
七、删除文件
第一种方案:
当你自己手动删除一个c.txt文件的时候,其实git仓库中的c.txt 仍存在。
git rm c.txt
此次的删除不止在工作目录中,在git仓库中也删除了。
第二种方案:
直接 git rm b.txt
会将工作目录以及git仓库,一并删除。
情况: 当你创建了3个文件 ,x.txt y.txt z.txt,误提交了z.txt,使得工作仓库有了z.txt
那么只需要删除git仓库中的z.txt即可。
命令 git rm --cache z.txt
已变成了未追踪的文件。
注意:git是版本控制工具,具有安全机制,如果你希望你删除的文件,后期能够找回,你需要git commit 它,如果不commit,是无法找回的。
强制删除 git rm -f a.txt
在git commit -m '删除a文件’
注:任何修改,都进行提交,养成良好习惯,避免代码出错。
移动文件命令
git mv a.txt first/a.txt // 可能不兼容
mv b.txt ./first/b.txt
重命名文件
第一种方案:
windows手动修改文件名后。
当你直接修改了已追踪的文件的文件名,你需要先删除该原文件(工作目录以及git仓库),然后git会自己分析并将其暂存,在 git commit -m ‘提交’
第二种情况:
命令行内重命名文件,
git mv c.txt cc2.txt
git rm c.txt
git add cc.txt
git commit -m ‘完成对cc的重命名’
八、强大的查看命令
九、查看工作目录文件的详情内容
git diff // 对比工作目录 与 之前暂存区 文件详情
注:文件的保存类型需为utf-8不然会乱码。
git diff --staged // 对比 提交的结果 与 之前暂存区 文件详情
十、打印日志
git log
git log -p // 详细信息的打印
git log -2 // 最近2次打印的信息
git log --stat // 当前操作有几次修改
git log --pretty=oneline // 打印 哈希与描述
较效率的打印
git log --decorate --oneline
git log --decorate --oneline --all --graph // 打印全部分支 在一行 并形成树状结构。
dellLee老师的简单上传
1、创建仓库
2、设立公钥(公钥存入git 实现本地无验证push)
3、git clone 到本地
4、code modification…
5、git status
6、git add .
7、git commit -m ‘第一次提交’
8、git push // 可能需要加分支名 git push origin master
第二次:新建分支
1、git checkout -b branch1
2、git add .
3、git commit -m ‘分支1 第一次提交’
4、git push …
5、git checkout master // 切回主分支,与分支1合并。使master分支保持最新code
6、git merge branch1
7、git push …