git命令学习笔记

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

20.git fetch & pull详解

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容