Git常用基本命令
- 爵特猛
- 2018-4-12 12:12
- 其它
- 771
pwd:显示当前目录。
cat 文件名:输出显示该文件内容。
git init:在当前目录下创建新创库。
git add 文件名:把文件添加到仓库。
git add -f 文件名:强制添加到仓库,在文件被.gitignore忽略时使用。
git commit -m "说明":把文件提交到仓库。
git status:查看仓库当前状态。
git diff:查看工作区(work dict)和暂存区(stage)的比较。
git diff --cached:查看暂存区(stage)和分支(master)的比较。
git diff HEAD -- 文件名:查看工作区和版本库里面最新版本的区别。
git log:显示从最近到最远的提交日志。
git log --pretty=oneline:简化输出日志。
git log --graph:可以看到分支合并图。
git reset:回退仓库版本。
git reset --hard HEAD^:回退到上一个版本(上一个版本就是HEAD^,上上一个版本就是HEAD^^,往上回退100个版本可写成HEAD~100),之后push的commit id会消失。
git reset --hard 版本号:指定回到某个commit id的版本(版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了)。
git reflog:显示每次提交或操作日志。
git checkout -- 文件名:让文件回到最近一次git commit或git add时的状态。
git reset HEAD 文件名:把暂存区的修改撤销掉(unstage),重新放回工作区。
git rm 文件名:从版本库中删除该文件。
git remote add 远程库别名 git@github.com:lizhengmeng/git_note.git:让本地仓库与远程仓库关联。
git remote -v:查看远程库信息。
git remote rm 远程库别名:删除远程库在本地的别名。
git push:把本地库的内容推送到远程。
git push -u 远程库别名 master:第一次推送master分支的所有内容。
git push 远程库别名 master:把本地库的内容推送到远程。
git clone git@github.com:lizhengmeng/git_note.git:从远程库克隆文件到本地。
git branch:查看分支。
git branch 分支名:创建分支。
git checkout 分支名:切换分支。
git checkout -b 分支名:创建+切换分支。
git merge 分支名:合并某分支到当前分支,fast forward合并就看不出来曾经做过合并。
git branch -d 分支名:删除分支。
git branch -D 分支名:强行删除未合并的分支。
git merge --no-ff -m "说明" 分支名:普通模式合并,合并后的历史有分支,能看出来曾经做过合并。
git stash:把当前工作区内容存储,存储后工作区变为干净的。
git stash list:查看已存储的工作区内容。
git stash apply:恢复已存储的工作区内容,恢复后stash内容并不删除。
git stash drop:删除stash中存储的内容。
git stash pop:恢复并删除已存储的工作区内容。
git stash apply stash@{0}:恢复指定的stash@{0},stash内容。
git push 远程库别名 分支名:从本地推送分支。
git pull:从远程抓取分支,推送失败时使用。
git checkout -b 本地分支名 远程库别名/远程分支名:在本地创建和远程分支对应的分支,本地和远程分支的名称最好一致。
git branch --set-upstream 本地分支名 远程库别名/远程分支名:建立本地分支和远程分支的关联,git pull提示“no tracking information”时使用。
git tag:查看所有标签。
git tag 标签名:新建一个标签,默认标签是打在最新提交的commit上。
git tag 标签名 commit_id:给指定的commit_id打一个新标签。
git show 标签名:查看该标签的信息。
git tag -a 标签名 -m "标签说明" commit_id:给指定的commit_id打一个新标签,并添加标签说明。
git tag -d 标签名:删除标签。
git push origin 标签名:推送指定标签到远程。
git push origin --tags:推送所有本地标签到远程。
git push origin :refs/tags/标签名:删除远程上的标签,前提现将本地的标签删除。
git check-ignore:检查.gitignore规则,在git add错误时检查。
git config --global alias.st status:st就表示status,给命令配置别名。
git fetch 远程库别名:从远程库更新代码到本地仓库。
爵特猛