git clone https_url 克隆仓库到本地
cd git_repository/ 进入仓库
touch 20200527.txt 创建一个新的文件
git status 查看状态
git add * 命令将文件内容添加到索引(将修改添加到暂存区)
git commit 将文件提交到本地仓库
git push 将文件推送到远程仓库
git config core.autocrlf 查看行尾结束符格式->为true,git提交时候会将crlf转成lf,
Windows-style
LF->Unix Style
CR->Mac Style
git restore --staged 20200527.txt 将add的文件还原
情景一:本地创建分支,远程没有对应分支
git branch test2 建立本地分支
git branch -a 查看所有分支
git checkout test2 切换分支
touch test2.txt 在test2分支创建文件
git status 查看其状态
git add test2.txt 加入到暂存区
git commit 提交到本地仓库
git push --set-upstream origin test2 创建远程分支
git branch -a 查看所有分支
情景二:远程有分支,但是本地没有对应分支
git checkout -t remotes/origin/bug 克隆远程bug分支到本地
git checkout 20200527.txt这时候本地文件有修改checkout将文件还原
git status 查看文件状态
git checkout -t remotes/origin/bug 重新克隆
git branch -a 查看所有分支
情景三:切换分支的时候和本地代码有冲突但是不能提交和还原,先暂存
vi stash.txt
git stash 暂存
git status 查看这时候没有冲突了
git stash list 查看暂存列表
git stash pop stash@{0}(暂存号)
情景四:看日志,切换到不同版本
git log
git checkout commitID
情景五:文件commit后撤回
git reset --soft HEAD^ 撤回到上一个版本,HEAD^ 表示上一个版本也可以写成HEAD~1如果进行两次的commit,想要都撤回,可以使用HEAD~2
git reset --hard HEAD^ 连add也撤销
git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。
情景六:修改提交备注信息
1 git rebase -i 版本号
2 将需要修改的 commit mesage 之前的” pick "改为"r"保存提交即可