笔记之git工作使用

还记得当初刚接触git的时候因为操作不当,提交了错误代码上去git仓库,被叼飞起,因此平时工作遇到错误都做下笔记,最近有空就整理下分享出来,以便以后复习,要是有错还望指正。

这是前段时间应别人做的入门笔记:http://blog.youkuaiyun.com/github_38117599/article/details/69870119

1.前言:工作中使用git说简单也简单,说难也难;简单是指工作中可以简单的使用git命令,避免出错;而难是指git命令使用非常多,多个可以出一本几百页的书了;这里我就总结下我工作中git的使用。

2.简单使用git方式

(1)通常对于比较大的项目,代码一般放在服务器上,比如做手机系统;而自己电脑上则放单独的模块,进行修改,修改同步到远程服务进行编译,最后提交到git仓库。

在这里只分本地和git仓库两部分

(2)在本地,自己的工作区间放两份代码,一份专门用于修改(这里称之为“本地A”),另一份则专门用于提交到git仓库(这里称之为“本地B”)。

(3)对“本地A”操作为:

Created with Raphaël 2.1.0 git pull 修改、编译 成功 修改完成 继续修改 yes no

当出现重大修改之后,想复原进行重新修改

Created with Raphaël 2.1.0 rm -rf 要删除的本地项目 git clone 修改、编译 成功 修改完成 继续修改 yes no

(4)对“本地B”进行操作:

Created with Raphaël 2.1.0 开始 git pull 把"本地A"修改的代码compare到"本地B" 编译 成功 git pull git add git commit git push 完成 查看原因:在"本地A"中pull最新代码,进行修改;(一般不会出现) yes no

3.只使用一份本地代码

(1)使用一份代码就行修改,编译,提交的过程相隔过长,经常会导致修改完代码之后,别人已经进行了多次的修改和提交,特别是同一个文件,共同操作会产生冲突,所以使用两部分代码就行操作会大大的降低了冲突的风险。

(2)对一份本地代码进行操作过程

Created with Raphaël 2.1.0 开始 git pull 修改、编译 代码待提交状态 git pull 成功 git add git commit git push 完成 git stash yes no

4.提交过程常见的错误

从 git pull 到 git push 尽量快速完成,避免中途有人又提交了代码,产生冲突等不必要的麻烦

(1)git pull出错

//1.把自己的代码放到stash区;
git stash

//2.把最新的代码拉下来
git pull

//3.看共同修改的文件,需不需要商量如何处理相同修改的代码

(2)git add出错

//1.撤销所有的已经add的文件:
git reset HEAD .

//2.撤销某个文件或文件夹:
git reset HEAD filename

(3)git commit出错

//1.查看提交的信息
git log

//会看到以下的一下信息
commit commit_id
Merge: 
Author: 
Date:

//2.回退到上一个节点,也就是回退到上一个 提交的节点 代码还是原来你修改的
git reset commit_id

//或者,回退到上一个commit节点, 代码也发生了改变,变成上一次的
git reset –hard commit_id

(4)远程分支提交错误

//查看本地分支与远程分支的关联关系(如果不是要切换回来)
git branch -vv 

5.其他常用的git命令
(1)git stash的使用

//1.备份当前工作区的修改与暂存区到堆栈区(未完结变更区,不是暂存区)中,将工作区恢复到上一次提交时的状态,
git stash

//2.将上一次存到暂存区的文件读取回工作区,git stash apply stash@{1}回到第几个暂存的状态
git stash pop

//3. 查看暂存区暂存的状况
git stash list

//4.清空暂存区
git stash clear

(2)查看当前所在分支

git branch -a

(3)commit之后没有push,导致不能pull,解决:

git reset HEAD~1

(4)新建分支

git branch 分支名

(5)切换到该分支下

git checkout 分支名

(6)创建本地local_branch分支(-b后面),并且对应远程分支remote_branch(/后面),并且切换到该分支下面

//为了要区分对应关系,remote_branch和local_branch取名应该相同
git checkout origin/remote_branch -b local_branch

(7)强制删除该分支

git branch -D 分支名

(8)commit之后没有push,修改注释

//1.使用这个修改上次的提交
git commit --amend
//2.然后按Ctrl + o (WriteOut)
//3.然后按回车保存,回到上一个界面后按 Ctrl + x 退出即可。
//4.最后,你就可以放心的 push 到远程分支啦

(9)删除远程的文件夹/文件

//1.删除a目录下的2.txt文件
git rm -r --cached a/2.txt
//或删除a文件夹,包括里面的文件
git rm -r --cached a

//2.commit
git commit -sm "[feature][logic][content][no id][untestable]"

//3.push
git push origin 分支名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值