Git简单操作

linux下的一些命令
ls 查看当前所在目录下的所有文件
cd 目录名称 切换进入到指定目录下
cd .. 退出到上一层目录
touch 文件名称 创建文件
mkdir 目录名称 创建目录
cat 文件名称 查看文本内容
vim 文件名称 编辑文件
点击i 计入编辑模式,可以进入编写模式
点击Esc按钮,再输入:w 表示保存不退出
点击Esc按钮,再输入:wq 表示保存并退出

 

linux 查找进程id端口占用和杀死进程

ps 命令用于查看当前正在运行的进程

辅助上grep 用于搜索匹配
ps -ef | grep java

ps ax : 显示当前系统进程的列表 
ps aux : 显示当前系统进程详细列表以及进程用户

-e 显示所有进程,环境变量 此参数的效果和指定"A"参数相同。
a 显示终端上地所有进程,包括其他用户地进程
-A 显示所有程序。
c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 
e 列出程序时,显示每个程序所使用的环境变量。
f 用ASCII字符显示树状结构,表达程序间的相互关系。
-H 显示树状结构,表示程序间的相互关系。
-N 显示所有的程序,除了执行ps指令终端机下的程序之外。
s 采用程序信号的格式显示程序状况。
S 列出程序时,包括已中断的子程序资料。
-t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
u 以用户为主的格式来显示程序状况。
x 显示没有控制终端地进程

显示结果
user : 进程所属的用户
pid  : 进程id
ppid : 该进程的父进程id

找服务并杀掉:
ps -e|grep redis
kill -9 8773

kill 命令用于终止进程
例如: kill -9 [PID]
-9 表示强迫进程立即停止



git init 初始化文件夹,初始化后才能用git命令

 

第一次登陆需要配置个人信息

git status 查看当前状态

git check out 文件名 可以把文件恢复到修改前的状态(未add之前,可以用这个恢复)

git add . 把当前目录及子目录的所有文件和文件夹加入到版本库


上传需要用
git commit -m '描述信息'

 

git log 看版本


git reset --hard 版本号 回滚版本
回滚后,若再次用git log,看不到后面的版本,需要用
git reflog
然后再按里面的版本号,可以再次回滚到后面的版本

当我们在开发的过程中,需要紧急修复之前的BUG,则要用到stash
git stash 将当前修改的文件 存到一个地方,并回滚到修改前的状态
把我们当前开发的代码先暂存到一个地方,BUG修复后,
再使用git stash pop 把我们之前存的代码取回来(此时可能会有冲突)
遇到冲突后,手动解决后,可以继续编写之前开发的代码,开发完了再一起提交

master 只写线上版本

git checkout dev 切换分支


开发只写在dev分支

 

 

- 一个创业者的故事:李路宁

阶段一:

git init

git config --global user.email "you@example.com"
git config --global user.name "Your Name"


git add .
git commit -m '描述信息'

git add .
git commit -m '描述信息'

git add .
git commit -m '描述信息'

git log
git reset --hard asdfooiusdfsdfadf

git reflog
git reset --hard asdfooiusdfsdfadf

阶段二:

问题: 开发直播功能(一周开发完成),要紧急修复bug

解决方法一:
git stash 将当前工作区的修改过的代码暂存到某个地方中

按照原来代码继续开发...
git add .
git commit -m '修改完成'


git stash pop
- 不产生冲突
- 产生冲突,手动去解决




git stash 将当前工作区所有修改过的内容存储到“某个地方”,将工作区还原到当前版本未修改过的状态
git stash list 查看“某个地方”存储的所有记录
git stash clear 清空“某个地方”
git stash pop 将第一个记录从“某个地方”重新拿到工作区(可能有冲突)
git stash apply 编号 将指定编号记录从“某个地方”重新拿到工作区(可能有冲突)
git stash drop 编号 ,删除指定编号的记录



解决方法二:分支

bug

master分支

dev分支


git branch dev

git branch -d dev

git checkout dev


git merge dev 分支合并


修复Bug流程:
git branch dev
git checkout dev

# 写代码
git add .
git commit -m 'xxx'

git checkout master
git branch bug
git chekcout bug

# 修复bug
git add .
git commit -m '紧急修复bug'

git checkout master
git merge bug

git branch -d bug

git checkout dev
# 继续开发

阶段三:三里屯和于辛庄
云端需求一个存放代码的地方:
公共:
- github,做代码托管
- 码云,做代码托管
- csdn code,做代码托管
内部搭建:
- gitlab

家里:

git add .
git commit -m 'xx'

git remote add origin https://github.com/WuPeiqi/greenlu.git

git push origin master

公司:

# 新公司第一次获取代码
方法一:
git clone https://github.com/WuPeiqi/greenlu.git

方法二:
git init
git remote add origin https://github.com/WuPeiqi/greenlu.git
git pull origin master


方法三:
git init
git remote add origin https://github.com/WuPeiqi/greenlu.git
git fetch origin master
git merge origin/master

# 日后
方法一:
git pull origin master

方法二:
git fetch origin master
git merge origin/master



# 本地修改问题,add,提交

 

在公司写完代码 add. commit 了 但是忘了push,
回家后,接着开发,开发完 add. commit push
第二天,回公司,先pull,再解决冲突,最后再add. commit push
回家后,pull,开发

 

posted @ 2018-02-27 10:05  听风。  阅读(176)  评论(0)    收藏  举报