社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
1)初始化一个本地仓库,执行
git init test
建立了一个名为test的仓库,cd test之后,执行ll命令,看到的是这样的
这是一个空的仓库,里面没有文件。现在我在该路径是添加了一个file1文件,执行
git status
查看状态
git add file1
再次使用git status查看状态
git commit
在commit log中输入你本次提交的说明
假设我的本次提交想追加到上次的提交,可以执行
git commit --amend
执行
git log
可以查看提交的log。
git reset HEAD file1
git reset --hard HEAD
每次提交都有一个唯一的commit id,执行
git show 757cf1dfc89e425262e7984904e3a3b5ef7437a7
可以查看对应commit id提交所修改的内容。
git show HEAD
可以查看最新一次提交的修改。
git show HEAD --name-only
仅显示最新一次提交修改文件的文件名。
git show HEAD --name-status
仅显示最新一次提交修改文件的修改类型。A 新增, M 修改, D 删除。
git rm xxx(文件名)
git checkout xxx(commit id)
执行git branch查看分支,
当前的分支名很奇怪,你可以执行
git checkout -b xxx(你的新分支的名字)
新建一个分支,git branch一下
这个分支就成为你所取的规范的名字了。git log一下,可以看到log里已经没有回溯点之后的提交了。
git diff xxx(分支1) xxx(分支2)
git diff xxx(分支1) xxx(分支2) --name-only
git diff xxx(分支1) xxx(分支2) --name-status
可以查看两个分支的区别。
第一种方法:
git checkout master
git merge develop
就将develop分支合并到master分支。
第二种方法:
假设我在develop分支有多次提交,但是每次提交都是不完整的,而在master只想体现一次提交,那么
git checkout master
git merge --squash xxx(需要打包的分支)
git commit
git branch -d(D:强制删除) xxx(分支)
下面说明一种特殊情况。
假设A和B都从节点3拉取了代码,并且分别做了修改,B先提交入库了,等A提交入库的时候就会发生
正确的做法是,
git checkout develop
git pull
git checkout xxx
git rebase develop
在提交前切换到develop分支拉取最新代码,然后把rebase develop到私有工作分支,此时可能会出现冲突。解决冲突之后重新提交。
如果你commit了多次,然而并没有push到服务器上,此时你只想push其中一次commit的内容到服务器上,那么你需要,
1. git branch -b newbranch 来备份一下目前的工作
2. 删除当前被污染的分支,重新拉取一个干净的分支
3. 建立私有分支
4. git cherry-pick <commit id> 获取到你想提交的内容到当前的分支
5. 重新提交
提交原则:
1.编译通过
2.功能完成
3. 一次提交解决一个问题
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!