github原来是这么用的

        

        git版本控制:只支持文本文本改动,如txt文件、网页、程序代码等不支持图片、视频、word等二进制文件。并且强烈建议使用标准UTF-8 编码。并且不要使用window的记事本来编辑文本,建议用notepad++或sublime下设置utf-8再进行编码。


  创建版本库:(0)cd E:切换到E盘根目录。(1)mkdir learngit:创建名为learngit文件夹 。(2)cd learngit:切换到此文件夹。(3)git init:将此目录变成git管理用仓库。(4)在目录下新建一个readme.txt。(5)git add readme.txt:文件添加到仓库。(6)git commit -"wrote a readme file":文件提交到仓库,-m后为提交说明,方便历史记录里面发生改进信息。

  版本管理:(1)修改readme.txt:添加内容。(2)git status:查看哪些文件被修改和需要提交。(3)git diff:查看具体的修改内容。(4)git add readme.txt:文件添加到仓库 (5)git commit -m "add something"文件提交到仓库。(6)git status:验证无修改过或提交的文件。

  历史记录:(1)git log:显示从最近到最远的提交日志,添加参数--pretty=online可以简化输出,确定回退的哪个版本。(2)git reset --hard HEAD^:返回上一个版本,HEAD^^上上个版本、HEAD~100前第一百个版本。(3)cat readme.txt:查看内容变更。(4)git reset --hard 最新版本commit id前几位:返回最新版本。(5)git reflog:查询曾使用过的每一条命令,确定回到未来哪个版本。

  工作区暂存区:上面提到的learngit文件夹就是一个暂存区。文件夹的.git文件是版本库,包含暂存区和当前分支。第一步是用git add把需要提交的文件修改通通放到暂存区文;
    第二步是用git commit一次性提交暂存区的所有修改。
    撤销修改:(1)git checkout --readme.txt:撤销readme.txt在工作区的修改。(2)git reset HEAD readme.txt:撤销read.txt在暂存区的修改。
    删除文件:(1)git rm test.txt:删除文件。 (2)git checkout -- test.txt:如果错删可以从版本库中恢复。(3)git commit -m "remove test.txt":确定从版本库中删除

  git初始化:参考http://www.cnblogs.com/gbyukg/archive/2011/10/12/2208915.html

  添加远程库:(1)git remote add origin git@github.com:"github用户名"/库名.git:关联当前本地库和github的远程库 。git push -u origin master:本地库内容推送到远程库 。(3)git push origin master:本地master分支的最新修改推送至github。

  从远程库克隆:(1)git clone git@github.com:"github用户名"/库名.git: 远程库克隆到本地库。cd 库名 ;ls :两条命令查看克隆库的文件列表。

  创建与合并分支:(1)git checkout -b dev;创建并切换到dev分支。(2)git branch:查看所有分支,当前分支前有*号。(3) git add readme.txt;git commit -m "branch test":readme.txt上修改并且提交到分支。(4)git checkout master:切换回master分支。(5)git merge dev:dev分支工作合并到master分支上。(6)git branch -d dev:删除dev分支 (7)git branch:验证是否删除。

  解决冲突:(1)git checkout -b featurel:创建并切换到新分支 (2)git add readme.txt;git commit -m "add simple":修改并提交 。(3)git checkout master:切换到master分支。 (4)git add readme.txt;git commit -m "&simple":修改并提交。 (5)git merge featural:合并操作会产生冲突。(6)git status:查询冲突的文件。(7)直接查看并修改readme.txt文件,再次add与commit操作。(8)git log --graph --pretty=online --abbrev-commit:带参数的log可以看到分支的合并情况。(9)git branch -d feature1:删除feature1分支

  分支管理策略:(1)git checkout -b dev:切换到dev分支。 (2)git add readme.txt, git commit -m "add merge"  :修改readme.txt并提交一个新的commit。 (3)git checkout master :切换回master 。(4)git merge --no--ff -m "merge with no-ff" dev :准备合并dev分支,--no-ff参数表示禁用Fast forwad,因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。(5)git log --graph --pretty=online --abbrev--commit:查看分支历史。  实际开发中需要按照几个基本原则进行分支管理:master分支仅用来发布新版本,干活都在dev版本中,每个人都有自己的分支版本,时不时向dev中合并就行了。

  Bug分支:(1)git stash :存储当前工作现场“非提交” 。(2)git checkout master,git checkout -b issu-101:修复master分支前创建临时分支 。(3)git add readme.txt,git commit -m "fix bug 101":修复bug提交 。(4)git checkout master,git merge --no-ff -m "merged bug fix 101" issue-101,git branch -d issue-101:切换到master分支完成合并,最后删除issue-101 。(5)git checkout dev,git stash list,git stash pop:回到最初的工作分支,调回存储的工作现场。

  Feature分支:(1)git checkout -b feature-vulcan:切换到分支。 (2)git add vulacn.py,git status:开发完毕。 (3)git checkout dev 切会dev准备合并。 (4)git branch -d feature-vulcan :强行删除未合并的分支。

  多人协作:(1)git remote,git remote -v:查看远程库的信息。  (2)git push origi master,git push origin dev :推送分支。 (3)git checkout -b dev origin/dev,git commit -m "add/user/bin/env":创建远程origin的dev到本地,把dev分支的修改push到远程。(4)git pull:将最新提交的origin/dev抓下来,在后在本地合并,解决冲突,再推送。(5)git branch --set-upstream dev origin/dev:git pull失败的原因就是没有制定本地dev分支与远程origin/dev分支的链接。(6)git commit -m "merge fix hello.py":手动解决冲突后再提交再push。

  创建标签:(1)git branch,git checkout master:查看并切换到主分支(2)git tag v1.0:给当前分支打一个标签v1.0。   (3)git tag:查看所有标签,结果按字母排序,而不是时间排序。   (4)git log --pretty=online -abbrev-commit,git tag v0.9 commitid前几位:查看commitid并为commit时的版本打上标签。 (5)git tag -a v0.1 -m "version 0.1 released" 3453234 :创建带有说明的标签,-a制定标签名,-m指定说明文字。(6)git show v0.1:查看v0.1标签的说明文字。(7)git tag -s v0.2 -m "signed version 0.2 released" fec1452:通过-s使用私钥签名一个标签。

  操作标签:(1)git tag -d v0.1:删除标签 (2)git push origin v1.0:推送标签到远程。git push origin --tags:一次性推送到远程(3):git tag -d v0.9,git push origin :refs/tags/v0.9。删除已经推送到远程的标签。

  使用github:(1)点击"Fork"(2)git clone git@github.com:用户名/库名.git :在自己的账号下克隆一个仓库 其它操作


        参考资料:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000    

全部评论

相关推荐

03-19 18:27
已编辑
门头沟学院 C++
26学院本太难了,很多公司机筛就给我刷了。机会都难拿到如果是简历存在问题也欢迎拷打————————————————————分割线——————————————————————2026.3.4更新:发完贴之后,时不时投递又收到了不少的笔试/面试邀请。主要是之前投递简历出去之后基本上都是沉默状态,年后好转了不少timeline:2026.01.21 文远知行笔试,半年多没刷算法题 ->挂 (后续HR说春招可以重新安排笔试)2026.2.4     小鹏汇天 技术一面,第二周收到结果 ->挂2026.2.12   大众Cariad代招 技术二面 ->Offer2026.2.28   多益网络技术面试,由于风评太差,一直在犹豫要不要接面试 ->推迟-----------分割线-----------2026.3 月前的某一天,临时去电网报名了二批计算机岗位的笔试2026.3.6 从上家公司实习离职,氛围最好的一家公司,leader 说可以帮忙转正,但是流程太长,而且我们部门据说只有一个 hc,更想要研究生,我很有可能是会被签外包公司在这里干活,就离职了。2026.3.9 入职新公司,大众Cariad 以外部公司的身份进组,项目组签了三年,后续三年应该都可以在这里呆,不知道有没有希望原地跳槽。2026.3.10 电网考试居然说我通过资格审查了,短信约我去参加资格审查,请假一天,买了 12 号晚上的机票回成都2026.3.15 参加国家电网三新计算机类的笔试2026.3.17 电网出成绩了,感觉很低。觉得已经🈚️了2026.3.18 收到电网面试通知,通知 3.22-3.25 这个时间去面试,我的岗位只招 1 个人。据说面试只有 2-3 人,不知道能不能成功
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务