查看配置信息
输入git config --list
回车即可:
配置用户信息
输入git config --global user.name "xjb"
配置用户名为jxb
的用户。
输入git config --global user.emal "3502037911@qq.com"
配置自己的邮箱
注意你的配置完成后,信息都保存在你自己当前用户的.gitconfig
文件中。
打开后是这样的:
[user]
name = jxb
email = 3502037911@qq.com
获取gti仓库
- 在本地初始化
- 克隆远程
首先我们创建本地的仓库:打开D盘,创建文件夹D:\DevelopmentEnvironment\GitPro\BenDi
后鼠标右键打开git命令窗口输入git init
:
之后就会对应的生成一个
.git
的文件夹:然后我们从远程仓库克隆到本地,首先切换到D:\DevelopmentEnvironment\GitPro
文件夹下面(根据个人喜好),然后鼠标右键打开命令窗口输入git clone 你的仓库地址
如果你在码云上创建的仓库是私有的,那么就需要输入用户名和密码才能进行克隆,克隆完成后即可在自己的项目目录中看见远程仓库名称的文件夹:
工作区、暂存区、版本库的概念
- 暂存区:.git文件夹下的
index
二进制文件就是暂存区。
文件状态
输入命令git status
即可
使用
git status -s
会更加简洁:提交文件
输入git add 文件名称
然后该文件就会被假如暂存区:
这样的话
new.txt
文件就变成了已跟踪状态,当然也可以使用git rm --cached <file>...
命令把这个文件恢复到未跟踪的状态。标准命令
git reset HEAD 文件名
,我这里使用的是不怎么标准的,但是也生效了。接下来使用
git commit -m "日志"
来提交这个文件。这样就可以把文件提交到本地的仓库中。
删除文件
使用gti rm
来删除文件,这个命令比较方便,因为删除的这个动作同时也会被提交到暂存区中,如果你直接使用windos的文件管理删除,那么你还需要使用git add 文件名
提交到暂存区,然后才能使用git commit -m "delete"
彻底删除。
将文件添加到忽略区域
我们往往不需要管理.class
和一些日志文件,首先我们需要创建一个.gitignore
的文件,在里面编写一些配置信息。
#忽略.a结尾的所有文件
*.a
#不忽略lib.a文件
!lib.a
#忽略当前目录下的TODO文件
/TODO
#忽略build目录下的所有文件都忽略
build/
#doc目录下所有以.txt结尾的文件都忽略
doc/*.txt
#doc目录包含其子目录下所有.pdf文件都忽略
doc/**/*.pdf
查看日志记录
输入git log
即可查看日志信息:
查看远程仓库
命令:git remote
git remote -v
查看详细的远程仓库信息:
由于当前的本地仓库是克隆过来的origin
是默认的名字。
使用git remote show origin
可以查看详细的信息:
添加远程仓库
首先登录码云创建一个新的远程仓库:
然后拿到我们自己的仓库url。
然后我们自己创建一个目录,在此目录打开git窗口,然后输入
git init
初始化一下,接下来使用git remote add [名字随便起] [仓库URL]
添加我们自己的远程仓库。远程仓库克隆
输入命令git clone [URL]
即可
移除远程仓库
注意:这个移除,只是移除本地的远程仓库,而不是远程的仓库删除。命令:git remote rm [仓库名称]
远程仓库抓取与拉取
-
git fetch
:拉取所有代码,但是不merge(合并) -
git pull
:拉取所有代码,会自动merge(合并)
首先使用git fetch
抓取代码:
操作完成以后,他其实就已经把远程的文件以二进制的形式存放到objects目录中啦:
接下来我们自己手动合并分支:
接下来使用git pull
来抓取代码:
实际上,如果你在拉取代码之前,如果在本地目录中添加了额外或者其他的文件,此时使用git pull
会报错,无法合并的错误,我为了模拟这个效果,首先创建了一个空的文件夹,然后使用git init
一下,然后创建一个hello.txt
的文件,把它提交:
然后我们添加远程仓库:
之所以git会有这样的机制,其实是为了防止你的本地文件被覆盖,此时如果我们想强制的拉取远程仓库的数据,只需在原有命令的后面加入
--allow-unrelated-histories
即可:将本地代码推送到远程仓库
我们在上一个小节中留下来了一个hello.txt
文件,那么我们先把这个推送到远程仓库,使用命令git push origin master
:
这样就提交完成啦。注意,这个操作可能让你输入密码,并且如果你想要提交数据,那么需要先提交到本地仓库,然后才能推送到远程的仓库。