-
1.在特定版本的linux下可以安装git的命令
查看git是否安装:
git
安装git:
sudo apt-get install git -
2.设置使用git的用户姓名和邮箱
global表示对本地所有仓库都是用此用户名和邮箱
git config --global user.name “Your Name”
git config --global user.email "email@example.com" -
3.创建git仓库并指定位置
后面是自己指定的仓库地址
仓库下多了一个隐藏文件.git,它是用来跟踪管理版本库的
git init
Initialized empty Git repository in /Users/michael/learngit/.git/ -
4.将本机git仓库的文件上传到中央仓库
注意文件名加后缀,把文件添加到内存,等待连接到分支上,可以多次add不同文件
git add 文件路径/文件名
注意-m是必加的,把文件提交到仓库,实际上就是连接到分支上去
git commit -m “备注信息”
刷新一下仓库,将此分支与推送到远程电脑建立相同分支结构
git pull
按下shift+:,在输入q!表示不保存退出
推送本地仓库的新文件到中央仓库,若总是不行可以试一下git push -f强制上传
git push
注意是常用git status检查本地仓库当前状态 -
5.拉取远端分支操作
当前在master分支下,先fetch拉下来,如拉取远端develop分支
git fetch origin develop
在本地创建分支并切换分支,并与远端分支建立联系
git checkout -b 本地新建分支名 origin/develop
暂存所有本地改动,常用于解决pull冲突
git stash
释放暂存区的本地改动
git stash pop
更新本地分支内容
git pull origin develop -
6.把github或者gitlab内容克隆下来
git clone 网址 -
7.git的查看命令
- git查看远端路径
git remote -v - git查看文件相关
查看.git文件是否存在
ls -ah
查看文件之前怎么修改的
git diff 路径/文件名
或者
git diff --status
查看文件内容
cat 文件名 - git查看提交代码
查看之前push上去的版本
git log
查看之前的所有命令
git reflog
用ascll码图形来显示分支合并历史
git log --graph - git查看分支信息相关
查看远程库信息
git remote -v
查看分支
git branch
查看本地和远程分支(本地分支白色,当前分支绿色,远程分支红色)
git branch -a
仅查看远程分支
git branch -r
查看各分支最后一次提交
git branch -v
查看哪些分支合并入当前分支
git branch -merged
查看哪些分支未合并到当前分支
git branch -no-merged
- git查看远端路径
-
8.git的分支操作
- 创建与切换分支
切换分支
git checkout 分支名
切换到远端分支
git checkout origin/远端分支名
创建并切换分支
git checkout -b 分支名
创建分支
git branch 分支名 - 分支推送
推送到远程分支
git push origin 远程分支名
把本地分支推送到远程,要是远程没有此分支,就创建它
git push origin develop:develop - 分支的拉取
更新远程库到本地
git fetch origin
fetch命令拉下远程分支下来
git fetch origin 远程分支名 - 分支合并
当前在A分支上,更新B分支的东西到A分支上,是一步步合并
git rebase B
rebase操作处理完冲突后继续合并
git rebase -continue
rebase操作跳过
git rebase -skip
rebase操作取消合并
git rebase -abort
把当前分支的修改合并到指定分支。当前是develop分支,相当于把指定分支的指针指向了develop最后提交时候的指针,相当于指定分支内容更新成了develop的内容(相当于指定分支需要更新)
git merge 指定分支 develop
取远程分支合并到本地(现在在当前分支,远程分支比当前分支多出一部分内容)(相当于本地当前分支需要更新)
git merge origin/远程分支名 - 分支删除
删除本地分支
git branch -d 分支名
强制删除本地分支
git branch -D 分支名
删除远程分支
git push origin :分支名
- 创建与切换分支
-
9.git的回退与撤销
- git回退与撤销常见操作
场景一:文件被修改了,但是没有add操作,想要还原被修改的文件
git checkout --被修改的文件名
场景二:文件被add了,但是撤销文件add
git reset HEAD 文件名
场景三:多个文件add并且commit,想要撤销其中某个commit操作
git reset [--hard|soft|mixed|merge|keep] [commit|HEAD]
- 切回以前版本
表示切回的之前的一个版本
git reset --hard HEAD^
表示切回到上上个版本
git reset --hard HEAD^^
往上100个版本
git reset --hard HEAD-100
若切回到之前的分支想切回到未来某个版本
git reset --hard 数字 数字是git log 显示的commit信息 - 撤销操作
让文件修改撤销(可以让文件修改回到最近一次add或者commit时候)
git checkout --文件名
把暂存去的文件撤销回到工作区
git reset HEAD 文件名
- git回退与撤销常见操作
-
10.删除文件
rm 文件名
之后再提交commit就可在部分第仓库分支看到没有 -
11.git忽略本地文件修改以及重新跟踪文件
忽略跟踪与恢复跟踪命令一样
git update-index --assume-unchanged 文件名或者文件后缀都可以
查看当前被忽略,已经被纳入版本库管理的文件
git ls-files -v | grep -e "^[hsmrck]"