git使用教程
整体框架
具体过程
代码操作
打开Git Bash,首先设置用户信息
1
2git config --global user.name "用户名"
git config --global user.email "邮箱"查看配置信息
1
2git config --global user.name //查看用户的用户名
git config --global user.email //查看用户的邮箱,这邮箱不一定是真实存在的初始化git仓库
1
git init
新建一个文件
1
2
3touch 文件(带后缀)
示例:
touch file01.txt查看当前文件的状态
1
git status
将文件从工作区转到暂存区
1
2
3git add 文件名(带后缀)
将所有的文件提交到暂存区,可以使用git add . // .是通配符将文件从暂存区转到本地仓库
1
git commit -m "注释" //git commit即可提交,-m 可以添加注释,便于理解
查看提交日志
1
2
3
4
5
6
7
8git log
//可以添加限制条件,使其满足自己的查看需要
git log --all //显示所有分支
git log --pretty=oneline //将提交信息显示为一行
git log --abbrev-commit //使输出的commitid更简短
git log --graph //以图的形式显示版本回退
1
2git reset --hard commitid
commitid可以使用git-log或者git log查看,已经删除的记录可以使用git reflog查看将文件添加至忽略列表(不用 git 管理)
1
2
3
4
5我们可以在工作目录中创建一个 .gitignore 文件,列出要忽略的文件模式
可以使用通配符, * 匹配的内容
示例:
*.txt,所有以.txt结尾的文件直接在Git Bash打开编辑器
1
vi 文件名(带后缀)
查看分支
1
git branch
创建分支
1
git branch 分支名
切换分支
1
git checkout 分支名 //切换到这个分支名下面
创建并切换到一个新的分支 ==√==
1
git checkout -b 分支名 //创建这个分支并且切换到这个分支下
合并分支
1
2
3
4
51、首先第一步,先切换到你的主线(主分支)上去
2、执行git merge 分支名称,将这个分支名称上面的修改合并到主线(主分支)上
3、退出编辑,方式:esc——>:wq——>回车,即可退出编辑完成合并删除分支
1
2
3
4
5git branch -d 分支名 //删除分支时,需要做各种检查
git branch -D 分支名 //不做任何检查,直接删除
注:就是说,你的一个分支的修改不需要了,但是没有提交到主分支,他会误以为你误删而出错,此时可以使用D强制删除
解决冲突(两个人改了同一个代码文件的同一行代码)
两个分支上同时做了修改,可能会产生冲突。同时修改了同一个文件的同一行,需要手动解决冲突
1 | 1、手动解决文件中冲突的地方 |
以精简的方式显示提交记录
1
git-log
配置SSH公钥
1
2
3
4
5
6
7
81、生成SSH公钥
ssh-keygen -t rsa
2、查看获取公钥
cat ~/.ssh/id_rsa.pub
3、验证是否配置成功
ssh -T git@gitee.com远程仓库的添加、查看、推送
1
2
3
4
5
6
7
8
9
101、添加
git remote add <远程仓库名> <仓库路径>
git remote add 仓库名(例如:orign) 建立的仓库的SSH
2、查看是否添加成功
git remote
3、推送到远程仓库
git push <远程仓库名><远程仓库分支名><本地分支名>
git push orign master:master 将本地的master推送到远程仓库的master分支,当两者名称相同时,可以只写一个就行查看远程仓库分支和本地分支的对应关系
1
git branch -vv
将本地分支和远程仓库分支对应起来
1
git push --set-upstream 远程仓库名(例如:origin) 远程分支名(例如:master):本地分支名(例如:master)
git push 简洁地推到远程分支
1
git push //设置好上面的对应关系之后
将远端仓库克隆到本地
1
git clone 远程仓库的SSH 本地克隆的文件名(如果不写,则取SSH 中.git前面的那一小段做文件名)
将远程仓库的内容抓取和拉取
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
211、抓取
规范:git fetch 远程仓库名 远程分支名
示例:
git fetch //不指定的话,所有的分支更新内容都要进行抓取
git fetch origin master //只抓取origin master里面的更新
注:抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
2、合并
git merge 远程仓库名/远程分支名
示例:
git merge origin/master
**上面的两步可以合并为一步完成:
拉取:
规范:git pull 远程仓库名 远程分支名
git pull //不指定的话,所有的分支更新内容都要进行拉取
git pull origin master //只拉取origin master里面的更新
注:拉取指令就是将仓库里的更新都抓取到本地同时进行合并,相当于fetch + merge
解决冲突(两个人改了同一个代码文件的同一行代码)
两个分支上同时做了修改,可能会产生冲突。同时修改了同一个文件的同一行,需要手动解决冲突
1 | 1、手动解决文件中冲突的地方 |