git学习笔记

本文主要记录在学习使用git过程中的一些问题,总结,资料。

Git使用概述:

安装软件git
设置用户
git config –global user.email 你的email地址
git config –global user.name "Arthur"
基本操作(在一个项目的根目录下)
git init
git status
git add .
git commit
如果需要连接github或bitbucket,为了不用总输入密码需要生成ssh-key并添
加到网站相应位置,输入命令生成ssh-key
ssh-keygen –C “你的email地址 “ –t rsa

git 下载:git for windows download;

在windows安装配置Git开发环境:连接

常用命令:

git pull  //pull之后自动merge,可以修改summit信息
git merge --no-ff  #保留分支详细信息

git add README

git rm --cached temp.txt %通过git add temp.txt 跟踪之后又不想跟踪了,可以这么做。

$ git rm bin/\*.class %/\是杠/和反斜杠\
注意到星号 * 之前的反斜杠 \,因为 Git 有它自己的文件模式扩展匹配方式,所以我们不用 shell 来帮忙展开(译注:实际上不加反斜杠也可以运行,只不过按照 shell 扩展的话,仅仅删除指定目录下的文件而不会递归匹配。用递归方式匹配,所以必须加反斜杠。)。此命令删除所有 bin/ 目录下扩展名为 .class  的文件。

git status
git commit -m "making a change under the SSH protocol"
git push

git log
git log --graph(图形化显示)

git reset --hard //丢弃缓存区所有修改,执行命令后源代码就是最近一次提交结果。
git checkout a.txt //撤销对a.txt的操作

分支查看:
git branch
git branch --merged(查看已合并分支)
git branch --no-merged(查看未合并分支)
git branch -m branch_2 branch_renamed(分支重命名)
git branch -a(查看服务器和本地的所有分支)
git branch -r(只是查看服务器分支)
git branch -v(查看最后一次提交信息)
分支建立:
git branch newBranch 或者:
git checkout -b newBranch(建立并切换分支)
分支切换:
git checkout anotherBranch
删除分支:
git branch -D existBranch (删除分支不管是否合并好)
git branch -d existBranch (删除已经合并好的分支)

从服务器上获取分支:
git fetch origin (fetch origin上的所有分支)

把本地当前分支XXX的代码推送到服务器的YYY(如果不存在就在服务器建立该分支)分支上:
git push origin XXX:YYY


.gitignore 四问:

Q:如何跟踪(不跟踪)当前目录下的一些指定文件与该文件夹下的子文件夹?

Q:跟踪当前子文件以后,子文件夹中的文件及文件夹跟踪情况如何?

Q:如何跟踪子文件夹下的一部分文件、文件夹?

Q:如何对项目中的一类文件全部进行跟踪(不跟踪)?

一个.gitignore实例:

#一个文件夹下有很多文件夹和文件,而我只想跟踪其中的一个文件,
#这样设置就可以满足这种情况,先用开放模式把整个目录都设置为不跟踪,
#然后再用保守模式把这个文件夹中想要跟踪的文件设置为被跟踪,

#影子检测项目最主要是跟踪.m文件和model文件,data中的数据不跟踪。
#开放模式:设置不跟踪哪些文件或目录,除了不跟踪的以外,剩下的都跟踪。
#不加下面这行,git会包含.gitignore文件
#不跟踪某个文件夹,/文件夹名称/,最前面不能加点
/data/
#不跟踪某个或某类文件
*.mat
*.asv

#保守模式:设置跟踪哪些文件或目录,这里主要是跟踪在开放模式中没有跟踪的部分文件

#问题:二级目录中的文件怎么弄?
#.gitignore 忽略只对未跟踪文件有效,对于已加入版本库的文件无效
#.gitignore可以忽略自己
#.gitignore的作用范围是其所处的目录和子目录,可放在工作区的任何位置,一般放在工作区根目录下;另外可以设置全局的忽略规则文件

# 只忽略dbg目录,不忽略dbg文件:dbg/
# 只忽略dbg文件,不忽略dbg目录:dbg !dbg/
# 只忽略当前目录下的dbg文件和目录,子目录的dbg不在忽略范围内:/dbg

.gitignore补充资料:实例:建立项目过滤规则资料1

git相关资料:
ssh for git(bitbucket网站文档)
Pro Git 中文版
Git Community Book 中文版
一个朋友推荐的《图解Git》
GIT分支管理是一门艺术
构造干净的 Git 历史线索
Git分支管理策略
GIT基本概念和用法总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值