Git学习

Git

  • Git Bash: unix 与 linux风格的命令行,使用最多,推荐最多 clear

  • Git CMD : windows风格的命令行 cls

  • Git GUI: 图像界面的Git

Git相关配置文件

C:\Users\Razer\.gitconfig 当前登录用户的配置

C:\Program Files\Git\etc --system 系统级

设置用户名与邮箱(用户标识,必要)

git config --global user.name "jack"  #名称
git config --global user.email 1076623xxx@qq.com  #邮箱

设置完后可以看到在C:\Users\Razer\.gitconfig

在这里插入图片描述

只需要做一次这个设置,如果你传递了–global 选项,因为Git将总是会使用该信息来处理你在系统中所做的一切操作。如果你希望在一个特定的项目中使用不同的名称或e-mail地址,你可以在该项目中运行该命令而不要–global选项。总之–global为全局配置,不加为某个项目的特定配置。

在这里插入图片描述

显示隐藏文件的方法。

git 命令:

git init  #在文件夹中执行此命令,此目录便变成一git工作目录,生成一本地git仓库,会有一.git文件夹(一般被隐藏)需要展示隐藏文件才能显示出来
git clone [url]  #克隆项目,然后本地master分支会自动设定track远程master,远程仓库名设为origin
git status [filename]  #查看指定文件状态
git status #查看所有文件状态
git add .   #将working directory 目录下所有改动了的文件添加到Stage暂存区中
git commit -m "summary"  #m代表message,summary相当于备注信息。将Stage中的所有文件提交到History,此时形成了一个新的版本(指向父结点即上个版本)

git branch #列出本地所有分支
git branch -r # 列出所有远程分支
git branch [branch-name] # 新建一个分支,但依然停留在当前分支
git checkout [branch-name] #切换到已创建好的分支
git checkout -b [branch-name] # 更快捷,新建一个分支,并切换到该分支
git branch -d [branch-name]  # 删除分支

git merge [branch]  # 合并指定分支到当前分支
git rebase [branch-name] #将当前分支rebase到指定分支,从而有更线性的效果。若master被base了,想要master继续作为主分支,则只需要将master rebase到那个子结点上。

git fetch [remote] #从远程仓库中下载本地仓库还没有的数据,但并不是同步,不会自动合并或修改当前的工作
git pull #从远程fetch最新版本并merge到本地,会自动合并或修改当前的工作
git pull --rebase #拉取最新版本,并将本地当前工作rebase到最新版本上
git push [remote] [branch] #上传本地指定分支到远程仓库,一般[remote]为origin,[branch]为master,即将本地master分支推送到远程origin仓库
git push [remote] [source]:[destination] #将本地source分支push到origin仓库的destination分支
git fetch [remote] [source]:[destination] #将origin仓库的source分支fetch到本地的destination分支上

git branch -f master C6 #将master分支移到C6结点上
git checkout HEAD~[number] #将HEAD指针移动到第前number次记录上,不输入number时自动为1

git reset [结点名]  #本地仓库可以这样reset
git revert [结点名]  #远程仓库这样返回

常用命令:

# 在已经与远程仓库建立联系的本地仓库使用
git fetch
git pull
git add .
git commit -m "summary"
git push

git status:

  • Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.

  • Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致。

.gitignore文件

有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件,日志等

在主目录下建立".gitignore"文件,此文件有如下规则:

*.txt        #忽略所有 .txt结尾的文件,这样的话上传就不会被选中!
!lib.txt     #但lib.txt除外
/temp        #忽略temp的根目录,不包括目录temp及子目录
build/       #忽略build/目录下的所有文件
doc/*.txt    #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

SSH公钥

设置本机绑定SSH公钥,实现免密码登录!(免密码登录,这一步挺重要的,码云是远程仓库,我们是平时工作在本地仓库!)

进入到C:\Users\Razer.ssh (若没有.ssh文件夹则新建)

ssh-keygen -t -rsa   #一直回车,免密进入

在生成的文件id_rsa.pub中就是公钥的信息,可以配置到码云账户中即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值