1.git init 创建git文件管理区
2.git staus 显示 所在分支、 文件状态
3. git clone 、git add 、 git commit -m ' ' 、git push
4.linux 编辑快捷键 ;
control +a 到文本左起最前 control +e 到文本最后
5.git rm x 操作命令转移到暂存区,再次git commit即可彻底删除
后悔 git reset HEAD xx.txt (移到工作区) git checkout -- XX.txt (撤销命令)
rm 操作命令在工作区,需add commit
git commit -amgit (第一次提交不能用)
6.重命名 git mv
7. .gitignore
8.git branch 分支 、 git checkout 分支、git checkout -b fenzhi、
git branch -m master newmaster (重命名分支)
9.删除分支之前 ,如果有提交写操作,建议先合并操作 git branch -d \ git branch -D(强行删除)
如果分支A中进行了写操作,没有(add,comMIT),切换分支master,是还可以看到该操作。
10.git merge (默认使用 fast forward):两个分支归于一点COMMIT,丢失分支信息
git merge --no--ff(禁止使用ff):主动合并的分支会前进一步,分支信息完整。
11.解决冲突 修改完后,git add、commit (告知git ,冲突已解决)
如果一方落后另一方,合并新的到旧的,可直接fastforward,不会冲突
12.回退 git reset --hard HEAD^、 HEAD^^、 HEAD^50、commit值
git reflog 查看所有记录,需要借助于良好的日志习惯
可以后悔 git reset --hard commit值
13.git chekout (1.放弃工作区修改2.版本穿梭,游离状态)
版本穿梭:回到过去修改后必须提交(但不影响现在),适合新建分支
14.git revert 撤销某一次commit操作,生成新的commit。如果master分支合并了dev操作,然后又revert该merge,相当于master现在是最新的版本,dev无法再次合并过去,需revert那个revert操作。
15.建议 :新功能没有开发完,不要commit;在没有commit之前不能checkout分支。
如果一个功能还没开发完毕,不能commit,需切换分支,可以用git stash(保存现场),切换回来后,可以用,git stash list 查看现场,git stash pop 还原现场
16.git blame a.txt 查看commit记录
17.在本地推送仓库到远程仓库
git init
git add README.md
git commit -m "first commit"
git remote add origin https://git.imooc.com/changlina/study.git
git push -u origin master
18.增量包
git diff eec76087115e3684c79410f7e3dab2a450e56d0b 9b75d2919c662bc846880c331003f4bf4b894ced --name-only | xargs -i cp '{}' ./update/ --parents
git diff 608e120 4abe32e --name-only | xargs zip update.zip
19.回退
reset 后
需使用git push orgin/master --force-with-lease (或者--force)提交
对应到小乌龟就是 选项里的 known changes 和unknown changes
1、简单概括
先用一张图来理一下git fetch和git pull的概念:
可以简单的概括为:
git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。
而git pull则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。
21.git config — —globalcommit.template [模板文件名] //这个命令能设置全局的提交模板,注意global前面是两杠
例如: git config commit.template xxx_template
git config --global commit.template xxx_template
21.git remote 远程仓库
git remote show []
git remote add [shortname] [url]
git remote rm name # 删除远程仓库
git remote rename old_name new_name # 修改仓库名
再直接git merge 就可以 git merge cpas/dev