此博客为该 B 站视频的学习笔记
Git基本命令行用法讲解
文章目录
stash
1. 保存工作进度
查看状态:
git status
看到有已经修改过的,但想修改其他的提交,并不想提交它,就保存当前进度:
git stash save '修改了某某文件'
git status # 目录是干净的
2. 查看保存的工作进度的列表
git stash list
3. 对比工作进度和现在目录的区别
git stash show -p stash@{代号} # 代号使用git stash list查看
4. 恢复工作进度
git stash apply stash@{代号}
5. 删除工作进度
git stash drop stash@{0}
6. 恢复工作进度时直接删除工作进度
git stash pop stash@{代号}
log
1. 查看历史
git log
默认显示全部提交日志。
f 键向下翻页,b键 向上翻页,q 键退出显示。
2. 显示简单的日志列表
git log --oneline
git log --oneline -行数
git log --oneline --author="作者"
3. 显示指定内容的提交
“内容”为说明中所写到的。
git log --oneline --grep='内容'
4. 显示指定日期的提交
git log --oneline --before='2021-08-03' # 2021.08.03之前的提交
git log --oneline --before='1 week' # 1周之前的提交
git log --oneline --before='3 days' # 3天之前的提交
5. 图形效果
git log --oneline --graph
6. 查看log详细使用手册
git help log
alias
1. 给常用命令添加别名
给checkout设置别名为alias:
git config --global alias.co checkout
查看配置:
cat ~/.gitconfig
2. 给命令行命令设置别名
vi ~/.bashrc
给“git checkout”设置别名,修改配置文件:
alias gco='git checkout'
sourch一下生效:
source ~/.bashrc
ignore
让Git忽略某个文件:
git config --global core.excludesfile ~/.gitignore_global
vi ~/.gitignore_global
输入文件名。以后就会自动忽略这个文件。
ls -la #查看以.开头的文件
gitignore
1. 在项目根目录下指定需要忽略的文件
vi .gitignore
比如想忽略所有扩展名为“.log”的文件,输入:
*.log
保存退出。
提交:
git add.
git commit -m '添加了 .gitignore 文件'
git不会忽略已经被跟踪的文件,可以取消跟踪,忽略规则才会生效。
origin
git remote add origin 远程代码库地址
查看:
git remote
查看更详细的信息:
git remote -v
移除远程:
git remote rm 远程名
push
推送master:
git push -u origin master
输入用户名和密码,然后会代码文件。
查看本地和远程的分支:
git branch -a # 查看本地所有分支
git branch -r # 查看远程分支
将其他某分支推送上去:
git push -u origin 某分支
clone
李四克隆张三的远程库到本地某个目录下:
git clone https://xxxx.git 目标目录
张三在本地修改了文件push到github上:
cd 目标目录
git checkout master # 切换到主分支
# 修改文件……
git commit -am '修改了某文件' # 提交
git push origin master # 把提交推送到远程
fetch
从远程库提取更新:
git fetch
查看状态:
git status
会提示远程库上有更新。
合并分支
git merge origin/master
再次查看状态:
git status
提示已经保持一致了。
fork
到GitHub页面上点击fork,就会把代码库复制一份到自己的账户下。
再把自己账户下的这个库克隆到自己本地进行开发。
git clone https://xxx.git 目标目录
cd 到该目标目录。
可以在该项目下配置git:
git config user.name '李四'
git config user.email '某某@163.com'
添加readme.md:
vi README.md
git add .
git commit -m '添加了README.md 文件'
git push origin master # 输入李四的用户名和密码
打开李四的版本库,可以看到最后一次更新来自他自己。
pull-request
李四申请将代码pull到张三的代码库
collaborator
将王二麻子添加为贡献者,这样他就能和张三一起开发。
从张三的代码库中克隆代码到本地,修改代码后,提交,然后检查远程库有没有更新:
git fetch
没有更新的话就push到远程:
git push origin master