Linux下github的下载和使用 - Go语言中文社区

Linux下github的下载和使用


1.几个参考链接
git的安装以及使用
linux下上传代码至github的步骤
github帐号添加SSH keys
README.md文件 github Markdown语言详解
感谢CSDN博主的这篇文章“怎么在github上创建文件夹”不过linux下文件夹应该称作目录
知乎上“请教一下github怎么创建文件夹呢?”解决了2.3的问题
常用 Git 命令清单

2.我的测试成功项记录:

2.1 linux下git和github环境的搭建

(1)安装git

yum install git -y

(2)创建github帐号
(3)生成ssh key

ssh-keygen -t rsa -C "我的github所使用的注册邮箱"

(4)回到github网页,在右上角选择setting—>SSH and GPG keys—>向下拉,New SSH keys—>Title随便起,Key将id_rsa.pub里面的内容完全复制进去(建议用gedit打开,ctrl A全选–>ctrl c复制–>ctrl v 粘帖到key里面)
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
(5)测试是否成功

直接使用命令
ssh -T git@github.com
如果出现
Hi XXXX! You've successfully authenticated, but GitHub does not provide shell access.
那么表示已经成功连上github

(6)配置git的配置文件username和email

git config --global user.name "我的用户名"
#配置用户名
git config --global user.email "我的github所使用的注册邮箱"
#配置email

2.2.linux下如何将本地代码上传到github上

(1)在本地新建一个文件夹用来保存我github上的文件
mkdir my_github
(2)将版本库克隆至本地
cd my_github
git clone https://github.com/zhangzhuo233/C_program
(3)将我写好的代码复制到该目录下
cp XXX ./
(4)添加文件到版本库
git add XXX
如果要上传许多文件,用命令:
git add --all
(5)提交,产生版本记录,注意代码依然在本地
git commit -m "git add XXX"
这一步使得更改生效,""里面的内容即是(4)所做的操作
(6)将修改提交到github上
git push origin

2.3.如何创建二级目录?

在知乎上找到了答案,唯一遗憾的是不能使用命令行,只能在网页上实现

网页上只能通过在创建新文件的时候顺便创建目录(目录与文件用 / 隔开),例如/Check_leap_year/src就在该仓库下创建了一个目录Check_year_year,该目录下有一个新的文件src
但是如果你将该目录下的文件清空,那么该子目录也会消失

这里写图片描述
下面是在网页上创建了子目录之后我将某些小程序上传到该字母下的操作:

   1 git clone https://github.com/zhangzhuo233/C_program/
     #从github克隆项目到本地
   2 ls
     Check_leap_year
   3 cd C_program/Check_leap_year/
   4 ls
     src
   5 cp /root/Desktop/note/目录/* ./
     #将我电脑上已有的项目拷贝到该目录下
   6 git add *
     #添加文件到本地仓库
   7 git commit -m "git add *"
     #说明这次提交 
   8 git push origin master
     #把本地仓库origin提交到远程的github中去 
     #src已经没用了,将它删掉
   10 git rm src
   11 git commit -m "git rm src"
   12  git push origin master 

本文只是抛砖引玉,更多高明的用法参见阮一峰git系列或者git简易教程
更多命令:

1. git pull    更新服务器代码到本地
a). git pull origin master是将origin这个版本库的代码更新到本地的master主分支

2. git push    将本地代码提交到服务器

3. git log    查看提交信息
a). git log -p    查看历次的log信息及更改情况
b). git log -p -4    查看距现在最近的4次的log信息及更改情况
c). git log frameworks/    查看关于frameworks/目录修改相关的log信息
d). git log --stat    查看log显示文件修改情况
e). git log --stat packages/apps/Contacts/    查看关于packages/apps/Contacts/目录修改相关的log显示的文件修改情况

4. git status    查看工作目录和代码仓库的改动情况

5. git diff 查看工作目录和本地仓库的差异或者本地仓库各个版本的差异
a). git diff packages/apps/Contacts/AndoridManifest.xml    查看工作目录中AndoridManifest.xml和本地仓库中AndoridManifest.xml的不同
b). git diff b46cae3b9a377bcd9cfc249a5778fce647feb961 dc94bf29aab18168e79d6496a89e47dba7a1d494    查看这两个版本的不同(git diff history_old history_current)

6. git commit 提交当前修改内容
a). git commit file1 file2 -m "log message"    提交file1,file2到本地仓库
b). git commit -a -m "log message"    提交所有在Git索引中的改动

7. git add 增加文件到Git索引
a). git add file3 file4    将file3,file4加入到Git索引中

8. git rm 从Git索引移除文件
a). git rm file3    将file3从Git索引中删除,并从本地删除
b). git rm --cached FileName 将文件从Git索引中删除,不删除实际的文件


9. Git branch    对分支的增、删、查操作
a). git branch    显示所有本地分支
b). git branch new_branch    在当前版本创建一个名为new_branch的分支
c). git branch -D new_branch    强制删除名为new_branch的分支
d). git branch -r查看服务器上分支
e). git branch -a 显示服务器和本地的所有分支


10. git checkout    在不同的branch切换和还原文件
a). git checkout branch1    切换到branch1分支
b). git checkout origin/cmcc -b cmcc从服务器上pull分支origin/cmcc到本地的cmcc分支
c). git checkout /packages/apps/Contacts/AndroidManifest.xml    会将AndroidManifest.xml文件从上一次提交的版本更新回来,未提交的部分会全部回滚
d). git checkout /package/app/Contacts/ 重新拉这个目录里的文件到本地,如果你不小心把这个目录删除了,可以用这个来恢复
e). git checkout origin/m9002 -b m9002 下载远程分支origin/m9002到本地分支m9002


11. git reset 将当前的工作目录完全回滚到指定的版本号
a). git reset [--fixed] 3204f2f0bdfd6ada86c587b8927cdc5a15c586c1    只更新索引,不更新工作目录,也就是说所有的本地文件都不会更新
b). git reset [--soft] 3204f2f0bdfd6ada86c587b8927cdc5a15c586c1    
c). git reset [--hard] 3204f2f0bdfd6ada86c587b8927cdc5a15c586c1    强制回滚到指定版本号,未提交的和此版本之后的更改全部删掉
d). git reset --hard origin/master 强制和服务器上的master同步


12. git merge 
a). git merge branch1    将branch1的改动合并到当前所在分支

13. git patch
a). git format-patch -1 打一个当前提交的补丁,也就是最后一次的提交改动
b). git fromat-patch -1 6525c43add803bfee37cf5c1cb573ed8aecf529e    打一个指定具体某一次的补丁
c). git format-patch -2 6525c43add803bfee37cf5c1cb573ed8aecf529e    打基于指定具体某个版本的接连两次的补丁


14. git am

git am xxx.patch提交patch

git am --abort 将git的状态恢复到之前状态就可以继续提交patch了


14. tig linux下Git的界面化工具
a). tig查看当前仓库的所有记录
b). tig packages/apps/Launcher2/查看目录packages/apps/Launcher2/下的所有记录

15. 很多命令都可以加上目录来限制操作内容

16. git config

git config --global color.ui true git使用彩色

git config --global core.editor vim 使用vim编辑器


17. git stash

    git stash 隐藏工作目录的改变

    git stash pop 恢复工作目录的改变

18. git whatchanged

git whatchanged packages/apps/Contacts/  查看目录packages/apps/Contacts/下的文件修改状况
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/derkampf/article/details/52869958
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-05-07 22:41:54
  • 阅读 ( 1342 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢