git常规操作

git的管理,对于协同开发,确实很有帮助,下面简介一些最最常用的,一般能使用这些,就能够得心应手了。

注意:git的操作,只是针对变化的文件,对比起原先的,是变化的文件

最最基本的,就是如下命令,不再细讲:

git status

git pull origin(远程仓库名) master(分支名)

git push origin(远程仓库名) local_master(本地分支名):remote_master(远程分支名)

git clone [-b 远程分支] link(仓库链接) [在本地的仓库名]

git add -u(添加变更的) /.(添加新的和修改的,不包括删除的) /-A(所有) /file_path(文件目录)

git commit -m(描述)/-am(等同于先add再commit,只对文件内容变更有效果) "statement"

git reflog

git reset --hard(回复到指定版本且删除) version_code

git remote add origin(远程仓库名) link(远程仓库链接)

关于分支的话,大概的思路是:

假设本地有master主分支了,里面有文件a.html和b.html,那么,我若是想要建立一个新的分支other,执行:

git branch other

注意,master必须要有一次commit之后,才能开辟分支,否则报错:fatal: Not a valid object name: 'master'. 如果只commit了a.html,没有commit文件b.html,开辟other的话,是两个都会有,只是,b.html是看做改变文件,a.html是已经“确认”的,这时候,哪个分支commit了b.html,那么,它就属于谁,详情请继续看。

删除分支是:

git branch -d other

那就建立新的分支了,但是还在master分支上,查看所有的分支:

git branch

切换到分支other:

git checkout other

执行

git reflog

可以发现,历史记录连切换分支这个行为,都是有记录的。新建立的分支,里面的文件,和master里面的一样【master最近commit了的文件】,都有a.html和b.html。这时候,如果我在other分支新增一个文件:c.html,然后先不add,git status显示红色。然后git checkout master切换回主分支之后,在执行git status发现,c.html也会显示状态是红色的未添加新文件;然后,我git checkout other切换回other分支以后,执行git add c.html和git commit -m "other add",git status发现没有文件了,ls查看,发现c.html文件存在。在这个时候,我git checkout master切换回主分支之后,执行ls,发现,c.html文件不存在!所以,说明,在本地的分支操作中,有了文件的变动,切换到各个分支git status查看,都是可见的,如果,哪个分支执行了git add和git commit的命令,最终,新的变动就会被确定,属于那个分支,不论哪个分支造成了变动的发生。即使是other创建的c.html,我在master分支执行add和commit,对c.html进行提交后,那么,c.html也会对只属于master分支,而非other分支。

如果我在分支master,想要合并other的变动到master,那么,执行:

git merge other

当然,可能是会发生冲突的,冲突的内容,会被标记出来在文件里面如下:

<<<<<<< HEAD

master change

=======

other change

>>>>>>> 9d052eac23as0eafd79233daa62b6db06a2f6086

<<<<<<<HEAD和=======之间,是master的内容,=======和>>>>>>>...是other修改的内容,这时候,解决冲突,就是打开冲突文件,进行选择和保留,去除冲突标记符号,然后,再对这个冲突文件,再git add 和git commit,这时候,就已经merge了,并且解决了冲突。

对于远程的代码托管仓库,原理差不多,只不过,常见的的操作,就是对其分支进行提交,拉取等,不涉及其他的,合并这些本地解决就好。

有意思的是,如果我切换到了other分支,那么,本地的git仓库里面,就只看得到other分支上的文件,另外分支的文件不可见,这个功能,确实很好玩的。

关于服务器上使用git的一个东西:公钥

服务器上的bash,是没有账户密码的,大多是直接用系统命令安装的git,所以,如何安全的传输呢?就全靠公钥了。

当我想要在服务器clone项目的时候,是不被允许的,往往会报错说权限不允许,permission deny之类的,原因是,你是陌生人,随便就能使用项目了?所以,要解决,需要一个认证,怎么认证?生成一个公钥【在服务器生成】,然后在浏览器登陆远程托管仓库的账号,在项目里面,添加一个项目的公钥,然后,通过一次公钥的对接,就可以完成一次信任的握手,就可以clone项目了。详细:

在服务器执行

ssh-keygen -t rsa -C"xxxxx@xxxxx.com"

然后连续回车,就会生成公钥,进入公钥目录:

cd ~/.ssh

查看公钥:

vim id_rsa.pub

将其中的公钥的值,复制出来,添加在浏览器中的远程仓库的项目下,然后,在服务器执行:

ssh -T git@gitee.com

相当于给这个远程仓库握个手,建立信任关系,然后就可以从这个项目中clone和pull代码了。

对于想要push的写操作,那么,需要再个人的账号处,添加个人的公钥,生成方法一样的,覆盖之前的【握手成功后就没作用了,必须重新生成】,然后,复制到浏览器的个人ssh密钥处,同样执行

ssh -T git@giee.com

进行握手,就可以愉快的推拉啦!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,527评论 5 470
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,314评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,535评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,006评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,961评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,220评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,664评论 3 392
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,351评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,481评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,397评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,443评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,123评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,713评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,801评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,010评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,494评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,075评论 2 341

推荐阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,626评论 9 163
  • 今天国庆节,假期也开始了,没有回家,度过工作后的第一个长假,宅也挺好的! 看看电影看看剧,也算放松!嘿嘿 晚上去家...
    聂一一阅读 197评论 0 0
  • 6.1 并行和并发 并发是两个任务共享时间段。并行则是两个任务同一时间发生,比如运行在多核CPU上。 如果一个程序...
    伊凡的一天阅读 486评论 0 2
  • (一) 我得承认在这个看脸的世界,第一眼见到路东阳的时候,我是对他有好感的。 虽然我喜欢肤白貌美的小白脸,他稍微黑...
    周草右阅读 239评论 0 0
  • 我是一只修行千年的白狐,在飞升之前,我来到凡世,想报曾经的救命之恩,借了司天镜的当家宝贝,很快便寻见了恩人。 ...
    沂沂阅读 308评论 5 2