git命令学习笔记

代码2020-01-04874 人已阅来源:网络

git命令学习笔记

git add 
git add * 
//加入暂存。

git commit -a -m 'comment' 
//提交修改。-m是添加注释

git checkout  
//切换分支。新版为switch命令

git pull origin 
//拉取远程指定分支
 
git clone <仓库地址> 
//克隆远程仓库
 
git clone -b  <仓库地址>
//克隆指定分支

git merge  
//合并指定分支

git push --set-upstream origin  
//推送指定未关联分支

git init
//把当前目录变成git可以管理的仓库
 
git status
//查看当前仓库的状态
 
git diff 
//查看difference(差异和修改)
 
git reset --hard HEAD^
//回退到上个版本
 
git reset --hard HEAD~100
//往前回退100个版本
 
git reset --hrad XXXXX
//回退到指定版本
 
git log
//查看提交历史 

git reflog
//查看命令历史
 
git log --graph
//查看分支合并图
 
git checkout -- file
//未add时撤销修改,即丢掉工作区的修改
 
git reset HEAD file
//add后撤销修改,即丢掉暂存区的修改
 
git rm file
//删除文件
 
git ssh-keygen -t -C "email@example.com"
//创建SSH Key
//window 在 C:\Users\yourname\.ssh 目录下
 
git remote add origin git@server-name:path/repo-name.git
//关联远程目录
 
$ git push -u origin master
//把当前分支master 推送到远程。加-u 就是把当前master分支和远程master分支关联起来
 
git push origin master
//把本地分支推送到远程
 
pwd
//查看当前目录位置
 
git conifg --global user.name "your name"
git config --global user.email "email@example.com"
//将用户信息全局初始化
 
git checkout -b tonjay
//创建tonjay分支,-b参数表示创建并切换
//相当于执行:git branch dev 和git checkout dev
 
git switch -c tonjay
//创建并切换到tonjay分支(新版特性)

git switch tonjay
//切换分支
 
git switch -b dev origin/dev
//创建远程orgin的dev分支到本地
 
git branch
//查看当前分支
 
git branch --set-upstream-to  origin/<远程分支> <当前分支>
//创建本地分支和远程分支的链接关系 

git merge dev
//合并指定分支到当前分支。Fast-forward指的是快进模式。但不是每次合并都能Fast-forward
 
git merge --no-ff -m "tip" dev
//合并分支。`no-ff`的模式会记录分支历史
 
git branch -d dev
//删除指定分支
 
git stash
//保存工作现场(保存前务必add一下)
 
git stash list
//查看已保存的工作现场
 
git stash apply
//恢复工作现场,但是stash内容并不删除
 
git stash drop
//删除工作现场内容
 
git stash pop
//恢复工作现场并删除
 
git stash apply stash@{0}
//如果有次stash,使用此命令恢复指定stash
 
git cherry-pick 000000
//仅仅复制一个特定提交到当前分支
 
git branch -D 
//强制删除一个没有被合并过的分支。当然,首先你要切换到其它分支
 
git remote -v
//查看远程库的信息

.gitignore

忽略某些文件时,需要编写.gitignore。不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore

.gitignore文件本身有必要放到版本库里,并且可以对.gitignore做版本管理!