Git的使用

我的ssh秘钥

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDuQdVHUWXHCf+HsgAYaz3qk+YQAH2AedRc0IXtK8yFBV1J4eSlYtefRfJpZaYNNKj29h6/CN3fIgO7w+7DL2fumfCCXjwbpXMHyt0LIQreXRHFdoYp0Xx+Yhf9bLUJUoWTc7tz26QwAx4XIiiFBJRq3wZVmqkejQHD8xeqMh+a/BkNFzcs7fJ5cdibLKX4SpoLjsNZFveAExA4lG1bkz5LE6eDQx/RIcfk0VgqzsCRunzbM05hw1kVdQhF6CQDgISDmufMgWk+o8JR5XMMsZVnOAbtq8UaTowR14dXe5xi7/OKcBHkWWgGWTGJ4gxRZgDlMDp4vpHRlo2PYdjeVklzEeoo5JRRlhjP8d59eQH3YQ1LW+B3eco6O3tHjrbmnSmFZsc0G2wVeJ/xqfWiplsI18OJiybczTlSMJUhEta78wSZ4lur/SepO8V3d/FktLrt6oGx+cHjlPKGXo2YDbYfkKdlEavGweMMrHRnCWwW8w4wT8nC1Bo9krR15wCPQAU= 106418751@qq.com

项目的搭建

创建方式一:本地仓库搭建

在本地仓库中右键打开 git bash here

输入git init 创建一个有隐藏文件的 .git文件

创建方式二:克隆远程仓库

在本地仓库中右键打开 git bash here

输入git clone git上仓库路径

使用idea继承Git

步骤:

1、新建项目,绑定Git

  • 将远程的git文件目录拷贝到项目中即可

Git必要配置

查看配置git config -l

查看系统命令 git config --system --list

查看本地全局 git config --global --list 查看的是用户名和密码必须要配置的

配置用户名和邮箱命令

git config --global user.name "pccyh"

git config --global user.email "1064187512@qq.com"

Git文件操作

git init创建一个.git 文件

git status 查看文件状态

创建一个文件再查看状态,发现 新创建的文件爆红,表示没有被git跟踪

git add . 添加所有文件到暂存区 【注意空格和.】 文件不爆红了

git commit -m 提交暂存区中的内容到本地仓库 -m 提交信息 git commit -m "消息"

git push远程到远程

git push origin  master  主分支上传

忽略文件

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

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

  1. 忽略文件中的空行或以井号(#)开始的行将会被忽略。
  2. 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,...})代表可选的字符串等。
  3. 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
  4. 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
  5. 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
#为注释
*.txt        #忽略所有 .txt结尾的文件,这样的话上传就不会被选中!
!lib.txt     #但lib.txt除外
/temp        #仅忽略项目根目录下的TODO文件,不包括其它目录temp
build/       #忽略build/目录下的所有文件
doc/*.txt    #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

在idea中配置忽略文件

# 如  所有的class文件  日志文件 jar,war包 和target/下的文件
*.class
*.log
*.lock

*.jar
*.war
targer/

.idea/
*.iml

使用码云

1、注册

2、免密码登录【重点】

生成公钥
ssh -keygen  默认在用户下产生
ssh -keygen -t rsa 加密
复制 id_rsa.pub 文件

3、使用码云创建一个仓库

  • 新建仓库

4、使用idea克隆到本地

git clone url

IDEA中集成Git

【用命令吧,idea提不上去】

将git远程仓库中的文件下,拷贝到现有的项目中

Git分支

git分支中常用指令:

# 连接远程仓库GitHub
git remote add -f origin url

# 列出所有本地分支
git branch

# 列出所有远程分支
git branch -r

b# 新建一个分支,但依然停留在当前分支
git branch [branch-name]

# 新建一个分支,并切换到该分支
git checkout -b [branch]

# 强制切换分支
git checkout -f [branch] 

创建远程分支
$ git push origin 本地分支名字:本地分支名字

# 合并指定分支到当前分支
$ git merge [branch]

# 删除分支
$ git branch -d [branch-name]

# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]

git回退版本

查看版本

git log
git reflog

版本回退

git reset --hard HEAD
git reset --hard  2fe8aab(版本号)

当多人协作时回退主分支版本建议:

git revert HEAD        //撤销最近一次提交
git revert HEAD~1      //撤销上上次的提交,注意:数字从0开始
git revert 0ffaacc     //撤销0ffaacc这次提交

解决文件冲突

多人修改同一文档发生冲突

git init ====== 创建一个空的文件

git remote add origin url(远程仓库地址链接) ====== 表示添加远程库的地址

git config core.sparsecheckout true ====== 打开sparsecheckout功能
注意:如果需要分支内所有文件,这个指令可以直接过忽略,则会拉取对应分支所有的文件

echo (filename)要拉取的项目名或者文件名 >>.git/info/sparse-checkout
====== 添加目录到checkout的列表,也可以使用文本编辑

git pull origin 分支名(文件所在的分支) ====== 拉取远程的分支

步骤:

1、设置文件过滤

2、可以将master的项目分享上去

3、然后add commit git push origin master 在向主分支上传文件

4、在本地添加一个分支

5、在远程仓库中添加新的分支 git push origin dev1,

6、add commit push origin dev1 向分支上传文件

7、登录主分支,然后 git merge dev1 将dev1的项目合并到master里

8、再进行上传