git常用命令
1.本地库初始化:git init
2.设置签名:
(1)项目级别(项目里面)
git config user.name xxx
git config user.email xxx
(2)系统级别(所有的项目)
git config --global user.name xxx
git config --global user.email xxx
3.查看状态:git status (查看工作区、暂存区状态)
4.添加操作:git add xxx (将工作区新建/修改的文件添加到暂存区,-A/.表示添加所有文件)
5.提交操作:git commit -m "说明" xxx (将暂存区的内容提交到本地库,若最后不跟文件名则提交所有)
6.查看历史记录
(1)git log
(2)git log --pretty=oneline
(3)git log --oneline
(4)git reflog(HEAD@{横移到当前版本需要多少步})
7.回退
(1)git reset --hard 版本号(git reflog 查出的第一列哈希值索引)
(2)git reset --hard HEAD^ 回退一步(一个^表示一步)
(3)git reset --hard HEAD~3 回退3步
8.分支管理
(1)git branch -v 查看本地库中所有分支
(2)git branch -a 查看本地及远程库中所有分支
(3)git branch dev 创建一个dev新的分支
(4)git checkout dev 切换到dev分支
(5)git checkout -b dev 创建并切换到dev分支
(6)git branch -d dev 删除dev分支
(7)git fetch 远程仓库名 从远程仓库拉取代码到本地仓库
(8)git merge 分支名 合并分支代码到当前分支
9.杂项
git rm --cached xxxx //删除已经纳入管理的某个文件
10. git stash 命令
(1)git stash save "save message"👇
//保存,save为可选项,message为本次保存的注释
(1)git stash list👇
//所有保存的记录列表
(2)git stash show👇
//显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
(3)git stash show -p👇
//显示第一个存储的改动,如果想显示其他存存储,命令:git stash show stash@{$num} -p ,比如第二个:git stash show stash@{1} -p
(4)git stash pop stash@{num}👇
//恢复,num是可选项,通过git stash list可查看具体值。只能恢复一次
(5)git stash apply stash@{num}👇
//恢复,num是可选项,通过git stash list可查看具体值。可回复多次
(6)git stash drop stash@{num}👇
//删除某个保存,num是可选项,通过git stash list可查看具体值
(7)git stash clear👇
//删除所有保存
Git日常使用
查看文件状态 git status
与远端的分支做比较 git diff 本地分支名称 远程仓库/远程分支名
查看远程库信息,使用 git remote -v;
将文件添加到暂存区 git add . 点是所有 <fileName>
提交所有更新过的文件 git commit –m”注释”
提交代码到远端分支 git push origin 本地分支名:远端分支名
查看提交历史git log按英文的q 退出 git log
本地提交与远程提交的不同git log -p 本地分支名 origin/远程分支名
查看远端最新更新git fetch origin
要更新所有分支git fetch
如果只想取回特定分支的更新git fetch <远程主机名> <分支名>
不额外建立本地分支的方式合并远程分支到本地分支
git merge origin/master [示例1:合并远端分支origin/master到当前分支]
分支
新建分支 git branch dev2
查看本地分支 git branch
查看远程分支git branch -r
查看本地和远端分支git branch -a
切换分支 git checkout 分支名称
修改分支的名字git branch -m dev2 version.2
合并某个分支到当前分支 git merge <branch>
切换到想把新文件合并到的当前本地分支
然后 git merge 想合并的分支名称
建立本地分支和远程分支的关联使用
git branch --set-upstream-to=origin/branch-name;
合并远程分支到本地
把远程dev“复制”到本地并在本地创建分支dev
git checkout -b dev origin/dev
git fetch + merge: 获取最新代码到本地,然后手动合并分支
获取最新代码到本地(本地当前分支为[branch],获取的远端的分支为[origin/branch])
git fetch origin master [示例1:获取远端的origin/master分支]
git fetch origin dev [示例2:获取远端的origin/dev分支]
合并远程最新代码到本地分支
git merge origin/master [示例1:合并远端分支origin/master到当前分支]
git merge origin/dev [示例2:合并远端分支origin/dev到当前分支]
额外建立本地分支
查看当前远程的版本
git remote -v
获取最新代码到本地临时分支(本地当前分支为[branch],获取的远端的分支为[origin/branch])
git fetch origin master:master1 [示例1:在本地建立master1分支,并下载远端的origin/master分支到master1分支中]
git fetch origin dev:dev1[示例1:在本地建立dev1分支,并下载远端的origin/dev分支到dev1分支中]
查看版本差异
git diff master1 [示例1:查看本地master1分支与当前分支的版本差异]
git diff dev1 [示例2:查看本地dev1分支与当前分支的版本差异]
合并最新分支到本地分支
git merge master1 [示例1:合并本地分支master1到当前分支]
git merge dev1 [示例2:合并本地分支dev1到当前分支]
删除本地临时分支
git branch -D master1 [示例1:删除本地分支master1]
git branch -D dev1 [示例1:删除本地分支dev1]
不额外建立本地分支的方式
查询当前远程的版本
git remote -v
获取最新代码到本地(本地当前分支为[branch],获取的远端的分支为[origin/branch])
git fetch origin master [示例1:获取远端的origin/master分支]
git fetch origin dev [示例2:获取远端的origin/dev分支]
查看版本差异
git log -p master..origin/master [示例1:查看本地master与远端origin/master的版本差异]
git log -p dev..origin/dev [示例2:查看本地dev与远端origin/dev的版本差异]
合并最新代码到本地分支
git merge origin/master [示例1:合并远端分支origin/master到当前分支]
git merge origin/dev [示例2:合并远端分支origin/dev到当前分支]
重新关联远程仓库
从命令行创建一个新的仓库,关联到该远程分支
git init
git add .
git commit -m "first commit"
git remote add origin https://xxxxxxx/wangdong/helloworld.git
git push -u origin master
3、如果本地的代码,没有关联任何远程分支
git remote add origin https://xxxxxxx/wangdong/helloworld.git
git push -u origin master
4、如果本地代码,已经关联了远程分支,则需要先解除关联
git remote remove origin
5、解除后、重新关联新的远程分支,并将代码传上去
$ git remote add origin https://dev.33.cn/wangdong/alioss-file.git
推送本地分支local_branch到远程分支 remote_branch并建立关联关系
a.远程已有remote_branch分支并且已经关联本地分支local_branch且本地已经切换到local_branch
git push
b.远程已有remote_branch分支但未关联本地分支local_branch且本地已经切换到local_branch
git push -u origin/remote_branch
c.远程没有有remote_branch分支并,本地已经切换到local_branch
git push origin local_branch:remote_branch