配置
-
git init
把当前文件夹变成 git 可以管理的仓库 -
cd..
去到文件夹上一层 -
git config --global user.name "zhangxu"
告诉 git 我的用户名 -
git config --global user.email "175325494@qq.com"
告诉 git 我的邮箱 -
git config --global user.name
查看当前用户用户名 -
git config --global user.email
查看当前用户邮箱 -
git config --global user.name "zhangxu"
修改当前用户用户名为 zhangxu -
git config --global user.email "175325494@qq.com"
修改当前用户名为175325494@qq.com -
ssh-keygen -t rsa -C "175325494@qq.com"
一路回车,创建 ssh 密匙,准备关联 GitHub -
cd /Users/zhangxu/.ssh
复制 id_rsa.pub 内容 >> GitHub >> Account settings >> SSH Keys >> Add SSH Key >> 填写 title >> Key 文本框里粘贴 id_rsa.pub 的内容 -
git remote add origin git@github.com:zhangxu-github/FE.git
把本地的仓库和远程 GitHub 仓库关联起来
推送
-
git push -u origin master
把本地库的所有提交内容推送到远程库上(远程仓库地址,推送本地 master 到远程 master,第一次使用即可) -
git push origin master
把本地库的最新修改或提交内容推送到远程库上-
并不一定要把本地分支往远程推送
-
master 分支是主分支,因此要时刻与远程同步
-
dev 是开发分支,所有成员都要在上面工作,也需要与远程同步
-
克隆
-
git clone git@github.com:zhangxu-github/FE.git
把 github 上的 FE 仓库克隆到本地
分支
-
git branch dev
创建 dev 分支 -
git branch --set-upstream dev origin/dev
关联本地分支和远程分支的链接关系 -
git branch -d dev
删除 dev 分支 -
git branch -D dev2
强行删除一个没有被合并过的分支 -
git checkout dev
切换到 dev 分支 -
git checkout -b dev
创建并切换到 dev 分支 -
git checkout -b dev origin/dev
创建本地 dev 分支 -
git merge dev
把 dev 分支的工作成果合并到当前分支上 -
git merge --no-ff -m "merge with no-ff" dev
禁用快速合并的合并方法(没有历史记录) -
git pull
抓取远程仓库(把最新的提交从 origin / dev 抓下来,然后在本地合并,解决冲突,再推送)
查看
-
git status
查看当前工作区的状态 -
ls -ah
查看当前文件夹详细信息 -
cat file1.txt
查看工作区文件内容 -
git diff
查看工作区和暂存区差异对比 -
git diff --cached
查看暂存区和版本库差异对比 -
git diff master dev
查看当前工作分支和版本库差异对比 -
git diff HEAD --file.txt
查看工作区里的 file.txt 和版本库里最新的 file.txt 的区别 -
git log
查看提交历史记录 回车可以一直查看更多 q 退出(查看提交 id ) -
git reflog
提交和回退记录 -
git log --graph
查看分支合并图 -
git branch
查看分支列表 -
git remote
查看远程仓库名(默认是 origin,不用更改) -
git remote -v
查看远程仓库地址(有权限才可以看到 push 的地址)
提交
-
git add .
把全部文件提交到暂存取 -
git add file1.txt file2.txt
把 file1.txt 和 file2.txt 提交到暂存区 -
git commit -a -m "explain" -a
把全部文件直接提交到版本库 -
git commit -m "explain"
提交所有暂存区文件到版本库 -
git commit --amend
撤销上一次提交操作 -
git reset --hard HEAD~10
回到前 10 个版本 -
git reset --hard 提交 id 号
回到前固定的 id 版本 -
git checkout --file1.txt
将工作区修改过的文件还原至上一次暂存或提交的状态,先找暂存,没有再找提交 -
git rm file1.txt
删除暂存的 file1.txt 文件(前提条件是工作区的 file1.txt 文件已经被你删除了) -
git rm -f file1.txt
把暂存和的工作区的 file1.txt 都删了 -
git rm cached file1.txt
只删除暂存,不删除工作区的 file1.txt
标签
-
git tag v1.0
打一个新标签在当前分支上 -
git tag
查看当前所有标签 -
git tag v0.9 6224937
给历史提交打标签 -
git tag -a v0.1 -m "version 0.1 released" 3628164
用-a指定标签名,-m指定说明文字 -
git show v0.1
查看说明文字 -
git tag -d v0.1
删除标签 -
git push origin v1.0
推送某个标签到远程 -
git push origin --tags
推送全部标签到远程 -
git push origin :refs/tags/v0.9
从远程删除标签(先删本地)
多人协作
-
试用
git push origin branch-name
推送自己的修改 -
如果推送失败,则因为远程分支比你的本地更新,需要先用
git pull
试图合并 -
如果合并有冲突,则解决冲突,并在本地提交
-
没有冲突或者解决掉冲突后,再用
git push origin branch-name
推送就能成功 -
如果,再失败,用命令
git branch --set-upstream branch-name origin/branch-name
创建关联
网友评论