马上要开始研究生阶段学习做事情了,团队合作少不了必要的工具,今天再整理一下git常用命令,方便之后使用查阅。另外,git教程
git init
初始化仓库git add a.txt
把文件加入仓库,(添加到暂存区)git commit -m "添加了新文件a.txt"
把文件提交到仓库git status
查看哪个文件有修改git diff a.txt
查看某个文件哪里修改了
git diff HEAD -- a.txt
查看当前版本和刚修改过的a.txt的区别
git log
查看历史提交记录
git log --pretty=oneline
仅输出一行描述
git reset --hard HEAD^
回退上一个版本
git中HEAD是当前版本,HEAD^上一个版本, HEAD^^上上个版本,HEAD~100,上100个版本
git reset --hard 1094a
回退到编号6d7834b9... 的版本
git reset HEAD -- a.txt
把暂存区的修改撤销,即撤销上一次的add,(并不会将工作区回退,工作区还是刚修改的内容,而不是上一次add的内容)
git reflog
查看git每一次版本,包括回退之后发生的git checkout -- a.txt
丢掉工作区修改的的内容。让这个文件回到上一次commit或者add之前的状态,(包括将已删除的文件从库中还原)git rm test.txt
test.txt已经commit了,但是执行了rm test.txt将它删除。此命令将会把test.txt从仓库中删除git remote add origin git@github.com:michaelliao/learngit.git
ssh与github仓库连接
git push -u origin master
将本地仓库push到远程仓库
# 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
git push origin master
git clone git@github.com:michaelliao/gitskills.git
从远程仓库克隆git checkout -b 本地分支名 origin/远程分支名
切换到本地不存在的一个远程分支git checkout -b dev
创建并切换到dev分支
等价于下面两条命令:
git branch dev #创建dev分支
git checkout dev #切换dev分支
git branch #列出所有分支
git branch -d dev #删除dev分支
git switch dev
切换到dev分支
git switch -c dev #创建并切换到dev分支
git merge dev
将dev分支合并到当前分支上
有冲突时,冲突内容如下表示,然后进行手动修改。
<<<<<<< HEAD
git has a new branch is quick & simple.
=======
git has a new branch is quick AND simple.
>>>>>>> dev
# Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,我们 修改 如下后保存:
git add readme.txt
git commit -m "conflict fixed"
# 可以用如下命令查看分支合并情况:
git log --graph --pretty=oneline --abbrev-commit
Git常用命令速查
9362

被折叠的 条评论
为什么被折叠?



