(看了狂神说java的B站视频)
分布式版本控制
分支管理
冲突解决
使用Git Bash(Linux命令,学习LINUX的命令)
清屏:clear
查看系统级别的配置文件:git config --system --list
查看当前用户配置: git config – global --list
设置用户名:git config --global user.name “xxx”
设置用户邮箱: git config – global user.email “xxxxx@qq.com”
#移除配置 #使用 git config -l 命令可列出在配置文件中配置的所有项。 git config --unset #可移除配置文件中的配置,使用方法如下: git config --unset user.name git config --unset --global user.name git config --unset --system user.name
工作目录(Workspace):工作区,平时用于存放项目代码的地方
暂存区(Index/Stage):暂存区,用于临时存放改动,实际上是一个文件,保存即将提交到文件列表的信息
资源库(Repository):本地仓库区,就是安全存放数据的位置这里面有提交的所有版本(History)的数据,其中HEAD指向最新放入仓库的版本
远程Git仓库(Remote Directory):远程仓库,托管代码的服务器,可以简单的认为是项目组中的一台电脑用于远程数据交换
在工作目录下有个隐藏的.git文件夹,WINDOWS下选择—>查看—>隐藏的项目
Untracked:未跟踪,此文件在文件夹中但是没有加入到git库(版本库)中,不参与版本控制,可通过git add 将转态变为Staged。
Unmodify:文件已经入git库,未修改,即版本库中的文件快照内容与文件夹(工作目录)中完全一致,这种类型的文件有两种去处,如果被修改则变为Modified状态,如果使用git rm将它移出版本库,则成为Untracked文件
Modified:文件已经入git库,但文件已经被修改,仅仅只是修改,并没有进行其他操作,这个文件也有两个去处,通过git add可进入Staged暂存状态,使用git checkout则丢弃修改,返回到Unmodify状态,这个git checkout操作就是将版本库中的文件取出来覆盖当前的修改。
Staged:暂存状态,执行git commit则将修改同步到版本库(本地仓库区)中,此时库中的文件将与工作区(本地文件)又变为一致,文件又成为为Unmodify状态,执行git reset HEAD filename取消暂存,文件状态为Modified。
#查看指定文件状态 git status [filename] #查看所有文件状态 git status #通过在项目中设置文件.gitignore忽略哪些文件不需要提交到暂存区 #此文件的规则如下 #1.忽略文中的空行或者以#开始的行 #2.可以使用Linux通配符。例如:*代表任意多个字符,?代表一个字符,[abc]代表可选字符范围,{string1,string2,....}代表可选字符串等 #3.如果名称的最前面有一个!表示例外规则将不会被忽略 #4.如果名称面前有一个/表示要忽略的目录文件在此目录下,而子目录中的文件将不会被忽略 #5.如果名称后面有y一个/表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略) #以下为.gitignore例子 *.txt #忽略所有以.txt结尾的文件 !lib.txt #但lib.txt除外 /temp #仅忽略项目根目录下的TODO文件,但不包括其他目录temp build/ #忽略build目录下的所有文件 doc/*.txt #忽略doc/note.txt 但不包括doc/server/arch.txt
在C:\Users\ASUS\.ssh 下进入git bash 然后执行 ssh-keygen -t rsa 命令然后一路回车,就会在.shh目录下生成两个文件,然后将.pub里面的公钥设置到远程仓库管理平台那边SSH公钥设置那边
设置本地仓库(创建本地仓库的第一种方法):git init
克隆远程仓库(克隆远程目录),将远程服务器上的仓库完全镜像一份到本地(创建本地仓库的第二种方法):git clone [url]
连接远程仓库:git remote add origin + url(远程仓库地址)
如果已存在连接的远程仓库释放连接:git remote rm origin
将工作区改动的files文件提交到暂存区:git add files (git add .) 逆操作为(git checkout)
将暂存区文件列表里面的信息提交到本地仓库区:git commit -m “提交信息”(表示提交暂存区中的内容到本地仓库) 逆操作为(git reset)
将本地代码推到远程的主分支/dev分支:git push origin master/dev
拉取远程仓库主分支/dev分支的代码到本地:git pull origin master/dev
创建本地新分支:git branch branch_name(例如 dev)
切换分支:git checkout branch_name
查看分支: git branch