GitHub实战系列汇总:http://www.cnblogs.com/dunitian/p/5038719.htmlhtml
Linux安装git,作个记录吧(使用github提供的隐私邮箱)python
# git官方手册 https://git-scm.com/book/zh/v2git
# 1.安装Git
sudo apt-get install gitgithub# 2.设置用户名和邮箱(使用Github提供的隐私邮箱)
git config --global user.name "Your Name"
git config --global user.email xxx+名称@users.noreply.github.combashgit config --list #查看全部配置app
# 3.克隆现有git仓库 (支持多种连接协议)fetch
git clone https://github.com/lotapp/BaseCode.gitspa
# 4.检查当前文件状态
git status #随时能够查状态3d
# 5.这时候你增长文件都是未跟踪的(若是以前并不存在这个文件,那么就无法跟踪了)
cp -r python/ BaseCode/code
# 6.添加跟踪文件
git add xxx# 7.检查当前文件状态
git status #如今已被跟踪,并处于暂存状态
# 8.提交更新
git commit -m "备注信息"
# 9.1修改文件
# 要查看还没有暂存的文件更新了哪些部分(跟历史版本的对比)
git diff 修改的文件# 后通常都是先把修改后的文件,git add 一下(添加修改都是这个命令)
#git其实提供了一个便捷的方法 git commit -a -m "xxx"
git commit -a -m "test skip git add"
# 9.2删除文件 同样能够用 git commit -a -m "xxx" 来快速提交
git commit -a -m "test skip git add"
# 10.推送到远程端
git push #默认是git pull origin master,其余须要指定(修改了origin也能够用git push来默认推送到clone的那个远程仓库)
关于查看历史提交的扩展:(冲突的时候常常用)
# 查看历史提交
git log
# 经常使用的选项是 -p,用来显示每次提交的内容差别
git log -p -2 #查看最近两次提交
# 每次提交的简略的统计信息(应用场景:快速浏览小伙伴commit所带来的变化的时候)
git log --stat
git log --stat -p -2 #能够联合使用
--stat 选项在每次提交的下面列出全部被修改过的文件、有多少文件被修改了以及被修改过的文件的哪些行被移除或是添加了。 在每次提交的最后还有一个总结
--------------------------------------------------------------------
扩展(冲突查明细): git log --pretty=format eg:(--graph是美化输出)
git log --pretty=oneline --graph #一行显示,数据量大的时候用比较方便
git log --pretty=format:"%h - %an, %ar : %s" #时间显示若是出现冲突,能够先运行 git fetch 拉取一下远端仓库进行同步
get pull # 同步代码
get add --all # 添加新文件
get commit -a -m "注释" # 提交本次修改
get push # 推送到仓库
git checkout xxx # 撤销文件修改
-------------------------------------------------- # 1.安装Git sudo apt-get install git ----------------------- # 2.设置用户名和邮箱 git config --global user.name "Your Name" git config --global user.email xxx+名称@users.noreply.github.com git config --list #查看全部配置 ----------------------- # 3.克隆现有git仓库 git clone https://github.com/lotapp/BaseCode.git ----------------------- # 4.检查当前文件状态 git status #随时能够查状态 ----------------------- # 5.这时候你增长文件都是未跟踪的(若是以前并不存在这个文件,那么就无法跟踪了) cp -r python/ BaseCode/ ----------------------- # 6.添加跟踪文件 git add --all # 添加所有文件 git add xxx -f # 添加某个被忽略的文件
----------------------- # 7.检查当前文件状态 git status #如今已被跟踪,并处于暂存状态 ----------------------- # 8.提交更新 git commit -m "备注信息" ----------------------- # 9.1修改文件 # 要查看还没有暂存的文件更新了哪些部分(跟历史版本的对比) git diff 修改的文件 # 后通常都是先把修改后的文件,git add 一下(添加修改都是这个命令) #git其实提供了一个便捷的方法 git commit -a -m "xxx" git commit -a -m "test skip git add" # 9.2删除文件 同样能够用 git commit -a -m "xxx" 来快速提交 git commit -a -m "test skip git add" ----------------------- # 10.推送到远程端(若是是多个远程仓库仍是建议写全) git push #默认是origin master #若是是多个远程仓库仍是建议写全:(修改了origin也能够用git push来默认推送到clone的那个远程仓库) git push origin master
# 11.同步代码
git pull
----------------------- # 查看历史提交 git log # 经常使用的选项是 -p,用来显示每次提交的内容差别 git log -p -2 #查看最近两次提交 # 每次提交的简略的统计信息(应用场景:快速浏览小伙伴commit所带来的变化的时候) git log --stat git log --stat -p -2 #能够联合使用 --stat 选项在每次提交的下面列出全部被修改过的文件、有多少文件被修改了以及被修改过的文件的哪些行被移除或是添加了。 在每次提交的最后还有一个总结 扩展(冲突查明细): git log --pretty=format eg:(--graph是美化输出) git log --pretty=oneline --graph #一行显示,数据量大的时候用比较方便 git log --pretty=format:"%h - %an, %ar : %s" #时间显示 -------------------------------------------------------------
1.clone指定分支:git clone -b name https://github.com/lotapp/cpython.git
2.fetch更新本地仓库两种方式:(有更简单的方法能够提一下)
//方法一 git fetch origin master //从远程的origin仓库的master分支下载代码到本地的origin master git log -p master.. origin/master//比较本地的仓库和远程参考的区别 git merge origin/master//把远程下载下来的代码合并到本地仓库,远程的和本地的合并 //方法二 git fetch origin master:temp //从远程的origin仓库的master分支下载到本地并新建一个分支temp git diff temp//比较master分支和temp分支的不一样 git merge temp//合并temp分支到master分支 git branch -d temp//删除temp
todo
GPG防止伪签名提交:
基本上用不到,贴几个文章课后拓展一下:
https://www.freebuf.com/news/140413.html
https://help.github.com/articles/signing-commits
https://help.github.com/articles/generating-a-new-gpg-key
https://help.github.com/articles/managing-commit-signature-verification