Git常见相关知识与命令
安装git程序
ContOS
Yum install –y epel-release
Yum install –y git
Ubuntu
Sudo apt-get install git
Windows上安装
https://git-scm.com/download/win
安装完成以后还需要最后一步设置
git config --global user.name "Qiang"//比如Qiang
git config --global user.email "zhiqiangwang@aliyun.com"//写入到你的邮箱
创建版本仓库并推送文件
Mkdir /home/gitroot //创建目录
Cd /home/gitroot //进入目录
Git init //用命令初始化。让这个目录编程git可以管理的仓库
Ls –a //可以看到.git目录
Echo –e “QIANG”>1.txt //创建一个文件1.txt
Git add 1.txt //把1.txt添加到仓库中
Git commit –m “add new file 1.txt” //add完了必须要conmit才算真正把文件提交到git仓库里
Echo –e “QIANG QIANG”>> 1.txt //更改1.txt
Git status //查看当前仓库中的状态,比如是否有改动文件
Git checkout --1.txt//将仓库中的1.txt覆盖本地的1.txt
Git diff 1.txt /可以对比1.txt本次修改了什么内容,相比仓库里面的版本
删除文件
1. git add test.txt
2. git commit -m "add test.txt"
3. rm test.txt
4. git status
5. git rm test.txt
6. rm 'test.txt'
7. git commit -m "remove test.txt"
上传当前目录下所有文件
1. git add .
2. git commit -m "updata all"
3. git push
版本的变更
多次更改1.txt 并进行git add,git commit操作
Git log //可以查看所有提交git仓库的仓库记录操作
Git log –pretty=oneline 一行一行显示
通过git log可以查看到过去提交的所有版本,所以根据这个log可以指定回退某个版本
Git reset –hard d03da70182c1e78d04df1d7eee2f6a972ae4f82b //可以回退该版本,这里是长字符串,可以简写(前5个字符)
Git reflog //可以显示所有的版本
文件恢复
当修改1.txt 发现修改的不对,想修改上一次提交的状态
Git checkout –1.txt//恢复到上一次提交的状态
如果1.txt修改完成,保存后,git add 1.txt了 但是没有git commit,再想回退到上一次提交是的状态,可以使用
Git reset HEAD 1.txt
然后再
Git checkout –1.txt
文件删除
Echo “QIANG” >2.txt
Git add 2.txt
Git commit –m “add new file 2.txt”
Rm –f 2.txt
Git status
Git rm 2.txt
Git commit –m “delete 2.txt”//彻底删除2.txt
创建一个远程的仓库
1.先注册一个免费的仓库https://github.com/或https://git.oschina.net/
2.权限认证,添加key
github :Setting->SSH and GPG keys->new SSH key->title和key输入进去
oschina:个人资料->SSH公钥->添加公钥->标题和公钥输入进入
生成密钥对:ssh-keygen
Liunx: Cat /root/.ssh/id_rsa
Cat /root/.ssh/id_rsa.pub //公钥
Windwos:Cat c:/Users/Cmd/.ssh/id_rsa
Cat c:/Users/Cmd/.ssh/id_rsa.pub
添加成功收到邮件
3.创建一个创建链接仓库
3.1 Mkdir /home/gitroot //创建目录
3.2 Cd /home/gitroot //进入目录
3.3 Git init //用命令初始化。让这个目录编程git可以管理的仓库
3.4 git remote add origin 仓库地址
git remote add origin git@git.oschina.net:zhiqiangwang/Qiang.git
3.4.1 origin是你的仓库的别名 可以随便改,但请务必不要与已有的仓库别名冲突
3.4.2仓库地址一般来讲支持
3.5 Echo –e “QIANG”>Qiang.txt //新建Qiang.txt
3.6 git add Qiang.txt
3.7 git commit –m “add Qiang.txt”
3.8 git push –u origin master //把本地的Qiang仓库推送到远程Qiang
3.9 Echo –e “QIANG QIANG”>>Qiang.txt //在Qiang.txt后面追加QIANG QIANG
3.10 git add Qiang.txt
3.11 git commit –m “update Qiang.txt”
3.12 git push //把本地的Qiang仓库再次推送到远程Qiang
克隆一个远程的仓库
Git clone git@git.oschina.net:zhiqiangwang/Qiang.git
分支管理
Git branch 查看分支
Git branch wang 创建分支
git checkout wang 切换wang分支
分支合并
Git merge wang //把wang分支合并到master
合并常见的问题
1. 如果master分支和wang分支都对Qiang.txt进行编辑,当合并时提示冲突,许先解决冲突才可以继续合并
2. 解决冲突的方法就是在master分支下,编辑Qiang.txt,改为wang分支里面的Qiang.txt的内容,然后提交Qiang.txt,在进行合并
3. 如果master分支更改的内容是我们想要的,可以编辑Qiang.txt内容,改为想要的然后提交,切换到wang分支,然后合并 master分支到wang分支即可。Merge后面跟的分支名字一定是最新的分支
4. Git branch –d wang //删除分支
5. Git branch –D wang /如果分支没有合并,强制删除
使用分支的原则
Master分支是非常重要的,线上发布代码的时候才用到这个分支
Dev分支就是专门用于开发的,重要发布线上之前才会把dev分支合并到master
开发人员应该才dev的基础上在分支成个人分支,个人分支里面开发代码,然后合并到dev分支
在dev分支合并bob分支命令就是
Git checkout dev //先切换dev分支
Git merge bob
现场保留
在wang 分支编辑wang.txt
去zhi分支修复bug,所以需要先git add wang.txt
然后 git stash保留现场
再切换zhi分支修复,修复完bug之后,在切回wang分支
Git stash list可以查看我们保留过的现场
Git stash apply 恢复现场
Git syash apply stash@{0} 恢复到指定现场
远程分支
git remote –v //查看远程库信息
git ls-remote origin//查看远程分支
推送本地分支wang到远程分支 wang并建立关联关系
a. 远程已有wang分支并且已经关联本地分支wang且本地已经切换到wang
git push
b. 远程已有wang分支但未关联本地分支wang且本地已经切换到wang
git push -u origin /wang
c. 远程没有有wang分支并,本地已经切换到wang
git push origin wang: wang
删除本地分支
git branch –d|-D wang
删除远程分支
git push origin :wang
git branch -m | -M oldbranch newbranch 重命名分支,如果newbranch名字分支已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名。
标签管理
标签类是于快照功能,给一个版本库打一个标签,记录某个时刻的状态,也可以随时恢复该状态
1. git checkout master 先切换master上
2. git tag v1.0 给master打上一个标签v1.0
3. git tag 查看所有的标签
4. git log –-pretty=oneline –-abbrev-commit//查看历史commit
5. git tag v0.9 d03da//针对历史commit打标签
6. git tag –a –m “tag just v1.1” d03da//可以对标签进行描述
7. git tag –d v0.8删除标签
8. git push origin v1.0//推送到指定标签远程
9. git push --tag origin//推送所有标签
10. git tag –d//删除本地标签
11. git push origin : refs/tags/v1.0删除远程标签
搭建git服务器
1. Yum install git
2. 添加git用户,并设置shell为/usr/bin/git-shell,目的是为了不让git用户远程登录
Useradd –s /usr/bin/git-shell
3. Cd /home/git
4. 创建authorized_keys文件,更改属主,属组合权限,用于存客户端机器上的公钥
5. Mkdir.ssh
6. ssh-keygen //使用该命令生成密钥对
7. touch authorized_keys
8. cat /home/git/id_rsa.pub>>/home/git/.ssh/authorized_keys.
9. Chown –R git.ssh或者Chown 600 .ssh/authorized_keys
10. 定义存储git仓库的目录 /data/gitroot
Mkdir /data/gitroot
Cd /data/gitroot
11. Git init –bare sample.git //创建一个裸仓库,裸仓库没有工作区,因为服务器上的git仓库纯粹为了贡献,所以不让用户登录到服务器上改工作区,并且服务器上的git仓库通过以.git结尾
12. Chown –R git.git sample.git
以上操作是在git服务器上做的,平时git服务器不西药开发人员登录去修改代码,他仅仅是充当一个服务器的角色,就像github一样,平时都是在我们自己的pc上做的
在客户端上克隆远程仓库
Git clone git@ip:/data/gitroot/sample.git
此时可以进入sample目录下,这个就是我们克隆远程仓库。进入到这里面进行开发,然后push到远程

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Perpustakaan yang digunakan untuk operasi nombor terapung dalam bahasa Go memperkenalkan cara memastikan ketepatannya ...

Giteepages Statik Laman Web Penggunaan Gagal: 404 Penyelesaian Masalah dan Resolusi Ralat Semasa Menggunakan Gitee ...

Menjalankan projek H5 memerlukan langkah -langkah berikut: memasang alat yang diperlukan seperti pelayan web, node.js, alat pembangunan, dan lain -lain. Membina persekitaran pembangunan, membuat folder projek, memulakan projek, dan menulis kod. Mulakan pelayan pembangunan dan jalankan arahan menggunakan baris arahan. Pratonton projek dalam penyemak imbas anda dan masukkan URL Server Pembangunan. Menerbitkan projek, mengoptimumkan kod, menggunakan projek, dan menyediakan konfigurasi pelayan web.

Perpustakaan mana yang dibangunkan oleh syarikat besar atau projek sumber terbuka yang terkenal? Semasa pengaturcaraan di GO, pemaju sering menghadapi beberapa keperluan biasa, ...

Di bawah rangka kerja beegoorm, bagaimana untuk menentukan pangkalan data yang berkaitan dengan model? Banyak projek beego memerlukan pelbagai pangkalan data untuk dikendalikan secara serentak. Semasa menggunakan beego ...

Masalah menggunakan redisstream untuk melaksanakan beratur mesej dalam bahasa Go menggunakan bahasa Go dan redis ...

Halaman H5 perlu dikekalkan secara berterusan, kerana faktor -faktor seperti kelemahan kod, keserasian pelayar, pengoptimuman prestasi, kemas kini keselamatan dan peningkatan pengalaman pengguna. Kaedah penyelenggaraan yang berkesan termasuk mewujudkan sistem ujian lengkap, menggunakan alat kawalan versi, kerap memantau prestasi halaman, mengumpul maklum balas pengguna dan merumuskan pelan penyelenggaraan.

Penerangan Soalan: Bagaimana untuk mendapatkan data kawasan perkapalan versi luar negara? Adakah sumber sedia ada yang ada? Dapatkan tepat dalam e-dagang rentas sempadan atau perniagaan global ...
