git教程
摘自https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
git
创建版本库
- 1.新建
mkdir learngit cd learngit - 2.初始化
git init - 3.上传文件到仓库
git add file1.txt file2.txt git commit -m "first update"
版本修改(回退、撤销...)
- 1.查看状态
git status - 2.查看difference
git diff - 3.查看历史记录(时间线)
git log or git log --pretty=oneline - 4.回退版本
git reset --hard HEAD^ 上一个版本 HEAD~100 or git reset --hard 1094a 版本号无需写全 git reflog 记录历史命令 - 5.暂存区和工作区
git add 将文件提交到暂存区 git commit 将暂存区内容提交到当前分支 git checkout -- file.txt 撤销修改 工作区内容修改后,如之前添加到暂存区,回退到暂存区状态,若无,回退到版本库状态。即回退到最后一次 git commit 或 git add后到状态 git reset HEAD file.txt 把暂存区修改撤销 ,回到工作区 - 6.删除文件
rm file.txt git rm file.txt git commit -m "" 在库上删除文件
远程仓库
- 1.ssh
ssh-keygen -t rsa -C "youremail@example.com" 创建ssh key 可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥。 登陆GitHub,打开“Account settings”,“SSH Keys”页面,然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。 - 2.本地到远程
git remote add origin www.com/learngit.git 关联 git push -u origin master 第一次推送 git push origin master 推送最新修改(master 分支) - 3.远程到本地
git clone www.com/gitskills.git - 4.远程子目录都克隆到本地
clone all git clone projectA.git cd projectA git submodule init git submodule update分支管理
- 1.创建分支
git branch dev 创建分支 git checkout dev 切换分支 git checkout -b dev 创建切换分支 git branch 查看当前分支 - 2.分支合并
git merge dev 合并指定分支到当前分支 git branch -d dev 删除dev分支 git log --graph 查看分支合并图 git merge --no-ff -m "merge with no-ff" dev 强制禁用Fast forward模式进行合并 - 3.bug分支
git stash 暂存现场 git stash list 查看工作现场 git stash apply 恢复工作现场,不删除 git stash drop 删除工作现场 git stash pop 恢复同时删除 git stash apply stash@{0} 恢复到指定现场 - 4.强行删除未合并分支
git branch -D feature-vulcan
多人协作
首先,可以试图用git push origin <branch-name>推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!
如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>。
这就是多人协作的工作模式。

浙公网安备 33010602011771号