Linux git
作者:
著喜喜
,
2024-01-20 15:59:00
,
所有人可见
,
阅读 68
养成好习惯
只要完成了一波工作
就commit成节点
push和pull同步更新是以结点为单位的
只有commit过后 才能push或pull
直接修改 就push没用
看到01:46:00
文件加入到暂存区和版本库中都叫做被保存
代码有价值时就可以加入到暂存区
云端 origin
将本地仓库传到云端
cd existing_folder 无需
git init
git remote add origin git@git.acwing.com:jiangc/project.git 照抄
git add . 无需
git commit -m "Initial commit"无需
git push -u origin main main改成本地仓库的名字
1.2 git常用命令
git config (
单个项目无所谓) user.name xxx:设置全局用户名,信息记录在~/.gitconfig文件中
git config
git init:将当前目录配置成git仓库,信息记录在隐藏的.git文件夹中
git add XX:任何有修改的XX文件都必须被添加到暂存区 (新建XX文件或者删除删除XX文件或者修改XX文件)
git add .:将所有待加入暂存区的文件加入暂存区
git rm
git restore
git restore XX或git checkout
git commit -m "给自己看的备注信息":将暂存区的内容保存到版本库中
每次commit之后暂存区会清空
git status:查看仓库状态
git diff XX:查看最新版本的已被保存的(在版本库中或者在暂存区)
的a文件相对工作区里的a文件(被更改但还未保存)有哪些区别
即查看a文件与最新被保存的a文件的区别
git log:查看当前分支的所有版本 从起点到head的所有版本 即使head指针后面仍有版本也不显示
从下往上看 最下面的是起点
git log
git reflog:查看HEAD指针的移动历史(包括被回滚的版本)
从下往上看 最下面的是起点
git reset
git reset
git reset
git reset
看到这里2024.3.9 21:22
git checkout
XX:将XX文件相对于最新被保存的版本(版本库或者暂存区)作出的修改全部撤销
在云端新建仓库之后的操作
在本地project 里面执行
git remote add origin git@git.acwing.com:xxx/XXX.git:将本地仓库关联到远程仓库
git push -u (第一次需要-u以后不需要):将当前分支推送到远程仓库
git push -u (第一次需要-u以后不需要)origin branch:
将本地的branch分支推送到远程仓库
git clone git@git.acwing.com:xxx/XXX.git:将远程仓库XXX下载到当前目录下 将云端仓库下载到本地
个人开发就在主分支开发就行
但多人开发一般不在主分支开发
工作区和暂存区被所有分支共用
git checkout -b branch_name:创建并切换到branch_name这个分支
git branch:查看所有分支和当前所处分支
git checkout branch_name:切换到branch_name这个分支
git merge branch_name:将分支branch_name上的最新版本
接到当前分支上的最新节点后面
(此时当前分支最新节点后面没有节点)
两者内容合并 不创建新的节点
并且此时分支branch_name上的最新版本的节点
即属于主分支又属于branch分支
分支仍存在
当合并有冲突时,即此时当前分支最新节点后面有节点,
此时会报冲突, 需手动解决冲突,并将合并的结果持久化 ,
此时创建了新的节点, 新节点仍在当前分支最新节点之后,branch分支的点
也加入到主分支当中
假设666开始有分支
原节点是666-888 主分支上
副分支666-777
合并之后主分支变为
666-777-888-fix conflict
git branch -d branch_name:删除本地仓库的branch_name分支
删除分支得先去其他分支,才能删除本分支
git branch branch_name:创建新分支
本地有变化 同步到云端
当本地的分支云端也有时,直接git push
就可将本地代码同步到云端
当本地分支云端没有时,比如在本地新建了一个分支
此时就要先在云端建立起对本地新建分支的对应
使用以下命令:建立云端分支
git push
:设置本地的branch_name分支对应远程仓库的branch_name分支
云端分支的删除 本地与云端是独立的
git push -d origin branch_name:删除远程仓库的branch_name分支
云端有变化 将云端同步到本地
云端新建了分支
本地先新建一个同名分支
git pull origin branch_name: 将远程仓库的branch_name分支与本地仓库的当前分支内容合并
git pull:将远程仓库的当前分支与本地仓库的当前分支合并
新建完成后 将云端分支与本地分支对应
git branch
:将远程的branch_name1分支与本地的branch_name2分支对应
git checkout -t origin/branch_name 将远程的branch_name分支拉取到本地 本地没有dev3分支,云端有
直接在本地git checkout -t origin/dev3
本地就有dev3分支了
git stash:将工作区和暂存区中尚未提交的修改存入栈中
git stash apply:将栈顶存储的修改恢复到当前分支,但不删除栈顶元素
git stash drop:删除栈顶存储的修改
git stash pop:将栈顶存储的修改恢复到当前分支,同时删除栈顶元素
git stash list:查看栈中所有元素