最基本的命令
# git add .
# git commit -m "desc"
# git push
git冲突解决步骤
# git stash 隐藏代码
# git pull 下拉代码
# git stash pop 展示隐藏的代码
解决冲突
<<=======
远程的代码
========
自己的代码
=========>>
回退
# git reset --hard <commit-id> 版本回退---本地代码不保
# git reset --soft <commit-id> 取回远程代码---本地代码不受影响
# git reset --soft HEAD^ 取回commit内容---本地内容不收影响
远程覆盖本地
# git fetch --all
# git reset --hard origin/远程分支名
# git pull
git 简介
1. git的安装
2. 个人信息配置
git config --global user.name "hui"
git config --global user.email "hui@163.com"
3. 创建本地版本库
mkdir learngit
cd learngit
git init
4. 本地仓库创建+切换分支hui:git checkout -b 本地分支名
5. 创建远程分支hui:git push origin 本地分支名:远程分支名
时光穿梭机
- 版本回退
HEAD
指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
。- 穿梭前,用
git log
可以查看提交历史,以便确定要回退到哪个版本。或者使用git log --pretty=oneline
- 要重返未来,用
git reflog
查看命令历史,以便确定要回到未来的哪个版本。
- 工作区和暂存区
.git
不算是工作区,而是Git的版本库- 版本库两部分组成:
- stage:暂存区
- master和指针
- 管理修改
- 为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件
- 使用
git add
添加到暂存区的并不是文件,而是修改。做出修改后,就可以add,最后一块commit。
- 撤销修改
- 撤销工作区的修改
git checkout -- file
- 撤销暂存区的修改
git reset HEAD file
到工作区,然后继续撤销 - 撤销版本库的提交,使用版本回退即可
- 只要没有push到远程,就可以挽救
- 撤销工作区的修改
- 删除文件
- 工作区删除后
git rm file
git commit -m 'rm file'
- 以上两步就可以真正删除版本库中的文件。如果是误删,可以使用git checkout -- file 将暂存区的文件取回工作区。
远程仓库与本地仓库
instruction:原则上的顺序,配置公钥,建立远程仓库,git clone link得到本地仓库。
创建远程仓库
- 要关联一个远程库,使用命令
git remote add origin git@server-name:path/repo-name.git
; - 关联后,使用命令
git push -u origin master
第一次推送master分支的所有内容; - 此后,每次本地提交后,只要有必要,就可以使用命令
git push origin master
推送最新修改
公钥
1. 使用终端命令生成公钥 (连续三次回车):ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
2. 得到公钥 :cat ~/.ssh/id_rsa.pub
3. 将公钥放入git网站
4. 在终端中确认:ssh -T git@gitee.com
关于仓库
最好的解决步骤:先建立远程仓库;然后就是把公钥搞定,确保机器能够和远程交互;最后,使用git clone将远程仓库拿到本地。
1. 克隆项目:git clone ssh_url
前提搞定公钥,建议使用ssh方式(https需要输密码),一劳永逸。gitee有官方操作流程,还是挺简单的
分支的使用
查看分支:git branch
创建分支:git branch name
切换分支:git checkout
本地仓库创建+切换分支:git checkout -b name
快进模式:首先回到落后的分支master,合并某分支到当前分支:git merge dev(先进的分支)
删除本地分支:git branch -d name
不可删除当前所在分支,需切换至无关分支
删除远程分支:git push origin --delete name
解决冲突,两个分支的冲突
1. 使用git merge feature
2. git status 找到冲突文件
3. 修改,然后add 和commit
Git中使用.gitignore忽略文件的推送
csdn链接:https://blog.csdn.net/lk142500/article/details/82869018