git常用命令与常见问题解决办法

Git是一个开源的分布式版本控制系统,它可以方便地在您的笔记本电脑或
桌面。本备忘单总结了常用的Git命令行指令,以供快速参考。

git常用命令
配置工具

为所有本地存储库配置用户信息

git config --global user.name "[name]"
设置要附加到提交事务的名称

git config --global user.email "[email address]"
设置要附加到提交事务的电子邮件

git config --global color.ui auto
启用命令行输出的有用彩色化
创建存储库

启动一个新的存储库或从现有URL获取一个存储库

git init [project-name]
使用指定的名称创建新的本地存储库
	
git clone [url]
下载项目及其整个版本历史
基本操作

检查编辑并处理提交事务

git status
列出所有要提交的新文件或修改过的文件

git diff
显示尚未暂存的文件差异

git add [file]
将文件添加到缓存

git diff --staged
显示分期和最后一个文件版本之间的文件差异

git reset [commit]
在[提交]之后撤消所有提交,在本地保存更改

git reset --hard [commit]
丢弃所有历史记录并将更改返回到指定的提交

git commit -m "[descriptive message]"
将缓存区内容添加到仓库中。
GROUP CHANGES

命名一系列提交并组合完成的工作

git branch
列出当前存储库中的所有本地分支

git branch -a 
查看所有分支

git branch [branch-name]
创建分支

git checkout [branch-name]
切换分支

git merge [branch]
将指定分支的历史记录合并到当前分支中

git branch -d [branch-name]
合并分支

git checkout -b branchname origin/branchname
新建分支,并跟踪远程对应的分支
重构文件名

重新定位和删除版本化的文件

git rm [file]
从工作目录中删除文件并执行删除

git rm --cached [file]
从版本控制中删除该文件,但在本地保留该文件

git mv [file-original] [file-renamed]
更改文件名并准备提交
SUPPRESS TRACKING

排除临时文件和路径

Lists all ignored files in this project
列出此项目中所有被忽略的文件
REVIEW HISTORY
git log
列出当前分支的版本历史记录

git log --follow [file]
列出文件的版本历史记录,包括重命名

git diff [first-branch]...[second-branch]
显示两个分支之间的内容差异

git show [commit]
输出指定提交的元数据和内容更改
SAVE FRAGMENTS
git stash
临时存储所有修改后的跟踪文件

git stash pop
还原最近隐藏的文件

git stash list
列出所有隐藏的变更集

git stash drop
丢弃最近隐藏的变更集
SYNCHRONIZE CHANGES

注册存储库书签并交换版本历史记录

git fetch [bookmark]
从存储库书签下载所有历史记录

git merge [bookmark]/[branch]
合并分支

git push
上推

git pull
下拉
推送远端基本工作流程
1. cd进目录
2. git fetch
3.git status 查看状态
4.git add .  添加
5. git commit -m "weekly status"
6. git push
分支推送远端工作流程
合并分支:
git fetch
git branch -a
git checkout main_func  切换分支
git merge han_main	合并分支
git status
git push
常遇到问题
问题1 error: Your local changes to the following files would be overwritten by merge:
方法1:如果你想保留刚才本地修改的代码,并把git服务器上的代码pull到本地(本地刚才修改的代码将会被暂时封存起来)
git stash
git pull origin master
git stash pop
方法2、如果你想完全地覆盖本地的代码,只保留服务器端代码,则直接回退到上一个版本,再进行pull:
git reset --hard
git pull origin master
问题2:切换分支时:error: you need to resolve your current index first
方法1: git reset --merge
问题3:
To [email protected]:sln_bj001
 ! [rejected]        main_func -> main_func (non-fast-forward)
error: failed to push some refs to '[email protected]:sln_bj001'

方法1:git pull --rebase origin master
	git push -u origin master

你可能感兴趣的:(git操作)