Git使用笔记2

工作必备:

【更新master】

git checkout master

git pull

git checkout zyb/FirstCommit

git merge master

//git rebase master --> 更新
zyb/FirstCommit 分支到 master 的最新版本

【多次
commit,日志太多,处理方法:】

git log --graph [git log 某次提交号(适用于很多次commit的情况)]

git reset **[创建此branch前的编号]

git log [创建此branch到最后一次commit间的log会被删除]

git add . [撤销:git reset HEAD <file>...]

git commit -m "commentment"

git push -f origin zyb/FirstCommit 【一定是 push 到自己的branch,-f
是因为log不一致】

【创建并提交分支】

git status

git pull

git checkout -b zyb/FirstCommit

git branch -b zyb/FirstCommit

git checkout zyb/FirstCommit

git diff --color

git add . [或*/*/*.sh]

git commit -m "commentment"

git push origin zyb/FirstCommit

【git
remote add origin 网址】

添加远程主机,origin也是命名的,可能是git最初的建议名

【分支】

删除本地分支

git branch -d the_local_branch #### If you are sure you want to delete it, run
‘git branch -D zyb/modifyApiServiceDevconf‘.

git branch -D the_local_branch

删除远端分支(if you know what you are doing!)

git push origin :the_remote_branch

查看远端分支

git branch -a

获取远端分支

git fetch,可以将远程分支信息获取到本地

git fetch origin master

git fetch origin zyb/certainBranch

git checkout -b local-branchname origin/remote_branchname 就可以将远程分支映射到本地命名为local-branchname 的一分支

【测试机搞一把】

git clone http://code.huawei.com/cloud-service-dev-team-devops/cloudwatch.git

【git
缓存http用户名&密码】

git config --global credential.helper ‘cache --timeout=2592000‘

git config --global credential.helper wincred --replace-all

删除配置: git config --global --unset core.excludesfile

timeout 的时间单位为秒,可以自行修改. (示例中表示缓存 30 天)

设置完后,再使用 http 协议操作仓库时,只要输入了一次用户名和密码,在缓存时效内就不需要再输入了。

[可参考 http://pages.huawei.com/codeclub/guides ]

【【reset并解决冲突】】

1. reset到需要squash的版本号

git log ******* --graph

git reset *******的前一个

【这里最好把版本号记录在案,出错后还能reset回去】

2. 更新master

git remote update

git pull origin master

一般在pull origin master的时候,git会提示无法执行,并建议move或remove一些文件,这些文件如果是自己改过的就move,pull之后再拷贝回来;如果不是自己的,直接rm

如果其建议你commit或stash,可以这样

git stash

git pull origin master

git stash pop

3. 处理conflict

使用webstorm的GUI,右键工程任意目录或文件,选择 Git - Resolve conflicts

Changes to be committed:

如果是自己的,不用管了;

如果不是自己修改的,使用 git reset HEAD <file> ... 撤销[从工作区放回暂存区]

Changes not staged for commit:

如果是自己的,使用 git add <file> ...

如果是自己删除的,使用 git rm <file> ...

【Attention:git
add/rm 都会被提交】

如果不是自己修改的,使用 git checkout -- <file>... 撤销[从暂存区删除]

Untracked files:

如果是自己的,使用 git add <file> ...

否则,忽略

4. 提交并推到远端

git commit -m "comments"

git push origin zyb/FirstCommit -f [由于使用了reset,版本号已经不符合要求了,所以-f]

【【git
stash】】

git stash list

git stash pop

git stash apply [email protected]{1}

git reset --hard origin/master

以后如果不小心在master上改代码了,可以用这个恢复本地的master

git reset --hard HASH #返回到某个节点,不保留修改。

git reset --soft HASH #返回到某个节点。保留修改

【Your
branch is ahead of ‘origin/master‘ by 3 commits.】

You get that message because you made changes in your local master and you
didn‘t push them to remote. You have several ways to "solve" it and
it normally depends on how your workflow looks like:

In a good workflow your remote copy of master should be
the good one while your local copy of master is just a copy of the one in
remote. Using this workflow you‘ll never get this message again.

If you work in another way and your local changes should be pushed then just
git push origin assuming origin is your remote

If your local changes are bad then just remove them or reset your local master
to the state on remote git reset --hard origin/master

时间: 2024-10-12 04:38:40

Git使用笔记2的相关文章

Git 学习笔记

Git 学习笔记 本文整理参考廖雪峰的 Git 教程, 整理 Git 学习笔记, 用于 Git 常用命令速查:常用命令用彩色标注! Git学习笔记 $ git config --global user.name "Your Name" 配置本机所有仓库的用户名 $ git config --global user.email "[email protected]" 配置本机所有仓库的Email地址 $ git init 初始化一个Git仓库 $ ls -ah 查看隐

【Git 使用笔记】第二部分:基本命令 和 单分支开发

git 基本命令 git add . git commit -am "请填写你NB的备注" git fetch --all git push origin master:master git remote add origin 仓库地址 git remote rm origin git remote -v git rebase origin/master git rebase --continue git rebase --skip git rebase --abort ###举例仓库

Git -&gt; git log笔记

显示提交关系图 git log --graph --oneline 显示最近的几条日志 git log -3 --pretty=oneline 显示每次提交的具体改动 git log -p -1 显示每次提交的变更概要 git log --state --oneline 定制输出 git log --pretty=raw -1 git log --pretty=fuller -1 git log --pretty=oneline -1Git -> git log笔记,布布扣,bubuko.com

Git 使用笔记

这是我在Coursera上的学习笔记.课程名称为<Computer Networks>,出自University of Washington. 由于计算机网络才诞生不久,目前正在以高速在发展,所以有些旧的教材可能都已经跟不上时代了.这门课程在2013年左右录制,知识相对还是比较新的.覆盖了计算机网络中的各个协议层,从物理层到应用层都讲得非常仔细.学完这门课程之后对计算机网络会有比较深刻的了解. 本章讲述了这门课程的大致情况,讲述了协议.协议层等基本概念. 目标和动机 课程的主要目标就是介绍计算

【Git 使用笔记】第一部分:安装git 和 使用git

第一部分:安装git(本人使用ubuntu系统) sudo apt-get install git 第二部分:基本配置 git config core.filemode false//忽略文件属性的修改git config --global user.name "vincentguo"git config --global user.email "[email protected]" 第三部分:生成ssh key 放到 github 或者 其他git平台 ssh-k

Git学习笔记(二)

本次学习的是 版本回退 基本命令: 查看提交历史      git log 版本回退            git reset 查看每一次的命令 git reflog 具体步骤: 添加一句话到readme.txt中,并提交到Git库中. . readme.txt在Git中目前有三个版本: 按提交时间先后顺序排列如下: 第一个:wrote a readme.txt 第二个:add distrubuted 第三个:add difficulties 如果版本过多的话,根本记不住,只能查看使用命令git

Git 学习笔记&lt;简介与安装&gt; (一)

Git,开源中国以及GitHub所使用的系统, Is A 一个分布式版本控制系统 Be Used to 为团队合作写代码提供方便的管理系统.几乎满足你所有关于合作写代码的幻想. Has 本地端:工作区.版本库 (版本库还含有一个暂存区) 远程仓库:版本库(用来储存版本库的服务器) How To Install Linux: 首先,先输入git,看看是否安装Git: $ gitThe program 'git' is currently not installed. You can install

Git学习笔记总结和注意事项

一.Git简介 Git是目前世界上最先进的分布式版本控制系统,其特点简单来说就是:高端大气上档次! 二.Windows上Git安装 最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Windows这几大平台上正常运行了. msysgit是Windows版的Git,从http://msysgit.github.io/下载,然后按默认选项安装即可.安装完成后,在开

GIT -&gt; git rev-parse 笔记

显示分支 $git rev-parse --symbolic --branches 显示里程碑 $git rev-parse --symbolic --tags 显示引用 $git rev-parse --symbolic --glob=refs/* refs/heads/master refs/remotes/origin/HEAD refs/remotes/origin/master 显示SHA1值 $git rev-parse HEAD $git rev-parse master refs

Git教程笔记

1Git基础说明 1.1Git与subversion的区别 Git只关注文件数据的整体内容是否发生改变,而不关心文件内容的具体差异 Git是分布式的版本控制系统,因此大多数的操作不需要网络环境 所有保存在Git数据库中的东西都是通过对内容的SHA-1计算的hash值作为索引而不是靠文件名 当把本地工作推送到服务器上时,Git必须服务器上的更新合并到本地后才能推送,而Subversion会在服务器端自动合并提交的更新 1.2Git文件状态变化表 对于任何文件,在Git内部只有三种状态:已提交(表示