博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git 学习笔记
阅读量:4217 次
发布时间:2019-05-26

本文共 4337 字,大约阅读时间需要 14 分钟。

1、比对两个文件的差异

windows:FC  old_file new_file

linux : diff -u old_file new_file

 

2、一些常用命令

day1:

git init 创建一个空仓库ls -ah 查看当前目录下的隐藏文件rm -rf file_name 删除 filewindows下自动缓缓git config --global core.autocrlf false  //禁用自动转换  git add file_name 添加文件到仓库git add file2.txt file3.txt 提交多个文件git commit -m 'desc about message'提交此次执行结果git diff 查看文件修改情况++表示新增的内容--表示减少的内容git status 查看 当前git状态git log 可以查看历史提交情况 按照时间降序排列 git reset --hard HEAD^ 回退到上一个修改内容状态git reset --hard commit_id 到指定的commit_i所在版本内容git reflog 用于查看近期的提交commit_id 可用于 后悔时候回退到指定版本cat ~/.ssh/id_rsa.pub 查看keyrm -rf .git 除git仓库rm -rf hello-worldcat ~/.ssh/id_rsa.pub 查看key

day2:

1、暂存区与工作区	暂存区: 最后一次add 后的状态	工作区: 当前操作的地方2、丢弃修改	场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。(注意-- 后面有个空格)	场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD 
,就回到了场景1,第二步按场景1操作。3、删除文件 //删除文件并提交删除请求 git rm file_name git commit -m 'delete file'4、创建SSH Key ssh-keygen -t rsa -C "youremail@example.com" 创建过程会提示你你的Key所在目录 我的是 c:/Users/zhangwei/.ssh 该目录下面会有生成两个文件 id_rsa(private key)、 id_rsa.pub(public key)5、本地git关联 github仓库 a、https 方式 git remote add origin https://github.com/zhangwei13623613927/learngit.git b、ssh方式 git remote add origin git@github.com/zhangwei13623613927/learngit.git 其中 origin 为 对远程仓库取的名字 git remote rm origin 可删除 远程仓库origin git push origin master 推送最新修改到github6、克隆远程仓库到本地 git clone git@github.com/Tianweidadada/hello-world.git 注 : 此处也可以使用https方式(https方式需要验证) Tianweidadada换为你的github的用户名 hello-world改为你要克隆的远程仓库名字 7、创建、查看分支 git branch 查看分支 *指向当前分支 git branch -r 查看远程分支 git remote 查看远程仓库信息 git remote -v 查看详细信息 git branch branch_name 创建名为branch_name的分支 git checkout -b dev 创建并指向新的分支 <==> git branch dev(创建)、 git checkout dev(切换)8、合并分支 git merge branch_name 把branch_name 分支合并到当前分支 a、Fast-forward(快速模式、直接把master 指向新提交的dev、此方式不会有痕迹) b、git merge --no-ff -m 'desc message' branch_name ( 强制不使用Fast- forward、这会导致一次新的commit)9、删除分支 git branch -d 删除分支 git branch -D branch_name 强行删除分支10、查看分支合并情况 git log --graph --pretty=oneline --abbrev-commit(以路线形式展示、近期操作一目了然) git log --graph (查看分支图)11、场景:当前任务未完成,急需转到另一个分支操作 git stash 存储当前工作区 git stash pop 恢复工作区并删除stash git stash list 查看stash列表 git stash apply stash@{0} 恢复指定的 stash12、推送本地分支到远程仓库 git push origin local_branch_name 把本地指定分支推送到远程分支origin(可变)

图为本地git仓库同步到github上的信息

day3

1、打标签(方便识别修改、默认打标签在最新提交的commit上)	git tag 
git tag 查看标签 git tag
为指定的id打标签 git log --pretty=oneline --abbrev-commit 查看id与描述(简化的) git show
查看标签详细情况 git tag -a
-m 'blablabla' 带有描述信息的标签 注:标签对应着commit 一个标签可能对应这多个branch状态2、删除标签 a、删除本地标签 git tag -d
b、删除远程标签 先删除本地标签 git push origin :refs/tags/
3、推送标签到远程 git push origin
git push origin --tags 推送本地所有未被推送的标签4、删除已经关联的Github git remote rm origin git remote add
git@github.com:Tianweidadada/learngit.git 关联到github git remote -v 查看关联信息5、git log -1 查询最后一次提交6、别名 (1)加上 --global 代表所有仓库都可用 git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C( yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit" (2) 不加global 代表当前仓库修改别名 git config alias.ci "commit"7、 用户主目录下存放着 .gitconfig文件(内部有username,email,alias...) path: C:/Users/
/.gitconfig8、每个仓库下的 .git目录下 存放着 config 文件(当前的仓库配置文件) cat .git/config

 

实战:把自己做的android Demo 推送到github上面

1、创建本地仓库	cd 到指定项目下	git init2、添加项目到本地仓库	git add .3、远程连接GitHub        需要提前在github上面建立一个空的仓库命名为 MaterialDemo(该仓库不要勾选Initialize repository whie README.md)	git remote add origin git@github.com:Tianweidadada/MaterialDemo.git4、推送到github	git push -u origin master注:多人操作时候 可能遇到的问题解决:	但是此时出现了问题,提示 rejected 也就是github 拒绝了推送,因为github已经有新的改动	根据提示 进行 	git pull 把远程最新内容 拉回到本地	执行后 又有了新的问题 提示没有指定合并的对象	git branch --set-upstream-to=origin/master master (origin/master为远端的分支  master为本地分支)	再次 git pull 即可

注意: 

        步骤3 不要勾选

这样创建的是一个空的仓库、可以从以下三种方案向该仓库添加内容(我们选的是第一种)

 

问题:

stackoverflow上面看了下 说明了原因:

是传的文件太大了,超过默认的限制了。

git 下运行这个命令

git config http.postBuffer 524288000  // 局部git config --global http.postBuffer 524288000  //全局

上传过程可能会出现新的问题 而终止上传、问题在于网速太慢

解决方案(windows):

C:\Windows\System32\drivers\etc 目录下有个hosts文件(默认没有写权限,你需要自行解决)

进入 

输入域名

github.com

github.global.ssl.fastly.net

分别查得 其ipv4地址  加到 hosts文件中 (编辑器打开 hosts文件)如下

保存 然后 进入cmd 执行 命令 ipconfig /flushdns 刷新dns缓存区 ok 再次 git push -u origin master 就可以成功上传了

更详细的步骤可参考 : 

Fork clone update  PullRequest : 

你可能感兴趣的文章
单元测试工具:单元测试的测试前置驱动条件
查看>>
汽车智不智能?“智能座舱”有话说
查看>>
自动驾驶汽车CAN总线数字孪生建模(一)
查看>>
自动驾驶汽车CAN总线数字孪生建模(二)
查看>>
自动驾驶汽车GPS系统数字孪生建模(一)
查看>>
自动驾驶汽车GPS系统数字孪生建模(二)
查看>>
上海控安入选首批工控安全防护能力贯标咨询机构名单
查看>>
自动驾驶汽车传感器数字孪生建模(一)
查看>>
自动驾驶汽车传感器数字孪生建模(二)
查看>>
车载数字孪生预期功能安全未知危害分析技术
查看>>
自动驾驶汽车以太网数字孪生建模(一)
查看>>
自动驾驶汽车以太网数字孪生建模(二)
查看>>
初识软件定义汽车
查看>>
科普 | 自动驾驶预期功能安全(二)
查看>>
轩辕实验室丨SAE J3061汽车信息安全标准解读
查看>>
轩辕实验室丨欧盟EVITA项目预研 第一章(一)
查看>>
轩辕实验室丨欧盟EVITA项目预研 第一章(二)
查看>>
轩辕实验室丨欧盟EVITA项目预研 第一章(三)
查看>>
专利 | 一种基于深度学习的车载CAN总线入侵检测方法
查看>>
VCU解决方案及核心L9788复杂驱动功能安全审计启动
查看>>