Git以及Github开发使用Handbook

git开发使用手册(常用)

git官网

Svn(集中式) ; Git(分布式)

安装命令

apt-get install git

查看版本

git version

配置文件

去除全局变量删除global即可

git config --global user.email "893985729@qq.com"  # 邮箱
git config --global user.name "password" # 密码

查看配置文件

vim ~/.gitconfig

常用命令

初始化新仓库

git init

克隆旧仓库

git clone https://github.com/.......(仓库)

查看状态

git status

添加文件

git add <filename>  # 提交单个文件
git add .  # 提交所有文件

提交到仓库

git commit -m '提交说明'  # 提交说明必写

删除版本库与本地项目中的文件

git rm <file>

删除版本库中文件但保存本地项目文件

git rm --cached filename

第二次删除文件

git reset HEAD <file>

恢复到上一次提交的版本

git checkout -- <file>

配置忽略文件

gedit .gitignore

重命名

git mv file1 file2

修改提交信息

git commit --amend

Log

查看日志

git log

显示已修改的文件清单

git log --name-only

显示新增/修改/删除文件清单

git log --name-status

只显示前几个字符

git log --oneline

显示最近几次提交日志

git log -p -n  # n为数字

alias

配置alias

git config --global alias.a add

修改~/.gitconfig

gedit ~/.gitconfig
[alias]
	a = add .
	c = commit
	s = status
	l = log
	b = branch

branch

dec --> develop

创建分支

git branch <dev>

查看分支

git branch

切换分支

git checkout <dev>

合并分支

git checkout master
git merge <dev>

删除分支

git branch -d <dev>  

删除没有合并的分支

git branch -D <dev>

删除远程分支

git push origin :<dev>

查看未合并的分支

git branch --no-merged

查看已经合并的分支

git branch --merged

把主分支往后挪

git rebase master

冲突

原因

某一文件被几个分支都修改过会产生冲突, 造成无法合并master

解决方案

  • 编辑器人工修改

  • git add .
    
  • git commit -m 'message'
    

储藏区

创建储藏区

git stash

查看储藏区

git stash list

应用最近的储藏区

gir stash apply

应用更早(特定)储存区

git stash apply stash@{2}

删除储存区

git stash drop stash@{0}

应用并删除储存区

git stash pop

Tag

只有稳定的版本才能打标签

显示标签列表

git tag 

添加标签

git tag v1.0

删除标签

git tag -d v1.0

推送标签

git push --tags

发布

生成压缩包

git archive master --prefix='tarname' --format=zip > tarname.zip

Github开发使用手册

自动关联

SSH生成密钥

ssh-keygen -t rsa

一直敲回车

进入ssh目录

cd ~/.ssh

公钥id_rsa,私钥id_rsa.pub

打开公钥

gedit id_rsa.pub

复制公钥到github配置

Settins–>SSH and GPG keys–>New SSH key–>添加公钥

推送数据

git push

连不上的解决办法

ssh–>konw_hosts 内容全部删掉即可

本地关联远程

创建本地仓库并完成初始提交

git init
git add README.md
git commit -m "first commit"

添加远程仓库

git remote add origin git@github.com:github_id/project.git

查看远程仓库

git remote -v

推送数据到远程仓库

git push -u origin master

删除远程仓库关联

git remote rm origin

pull

拉取远程主机的分支与本地master分支合并

git pull origin dev:dev

查看远程主机分支

git branch -a

推送数据

git push
git push --set-upstream origin dev   # git会提示

push

本地更新

git push

将当前分支推送到origin主机对应分支

git push origin

默认主机

使用-u选项指定一个默认主机 ,这样以后可以直接使用git push

git push -u origin master

删除远程分支

git push origin --delete dev

自动部署

部署

  • 创建web服务器

  • Github使用HTTPS进行克隆

  • git clone <...> www.dns.com
    
  • 设置框架路由secretpath

  • 删除shell_exec禁用函数

权限

chown -R www .
chmod -R g+s .
sudo -u www git pull
全部评论

相关推荐

04-10 11:02
已编辑
北方民族大学 全栈开发
“无名小卒,还是名扬天下?”我知道很多人都不觉得我能走到今天这一步,当然,也包括我自己。在我的人生里,有两部作品刻下了最深的烙印:《斗破苍穹》与《龙族》。它们总被人拿来对照:一边是萧炎的桀骜轻狂,一边是路明非的怯懦衰颓。有人说,天蚕土豆没见过魂天帝,但江南见过真凯撒。我时常觉得,自己就是那个衰小孩路明非。可路明非可以开挂,我不可以;我也无数次幻想过,能拥有萧炎那般年少轻狂的人生,可我没有他与生俱来的逆天天赋。我只是个平庸的普通人,一个看过《斗破苍穹》却开不了挂的路明非,只能一步一步往上爬。从我下定决心找实习的那一刻起,我就给自己定下了目标:“我一定要为字节跳动卖命.jpg”。萧炎有他的三年之约,我有我的两年半之约(其实是一年半)。2024.11.20,科大讯飞的第一封实习offer落进邮箱,我迈出了这场奔赴的第一步。2025.8.18,放弃百度转正的安稳机会,转身走进前路未卜的不确定里。我很感谢我在百度的mentor,是她从茫茫人海选中了我,给了我大厂实习的机会。即便有段时间我状态差、产出不理想,她依旧愿意认可我、希望我留下转正。2025.11.14,我选择走进字节跳动,以实习生的身份重新出发。2026.3.25&nbsp;-&nbsp;3.31,一周速通上海飞书,幸遇赏识我的伯乐,斩获Special&nbsp;Offer。被告知面试通过的那一刻,我的内心无比平静,就像这个offer本就该属于我。不是侥幸,是应得的。这一路,有人看轻过我的出身,不相信我能走到这里;也有人在我看不见前路的时候,替我举过灯。没有他们的鼓励与支撑,就没有今天站在这里的我。我看到了自强不息的激荡,那是一个双非的伟大乐章!我是雨夜迈巴赫,我要开启属于我的新篇章了。
在看牛客的本杰明很勇...:真心祝贺l总 我永远的偶像 我滴神
春招至今,你收到几个面试...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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