首先你需要有一个你个人的git账号,有了账号后查看是否已经有了服务器,如果没有的话,可以按照下面一点一点地操作:
搭建Git服务器(ubuntun)的命令操作
sudo apt-get install git 安装git
sudo adduser git 创建一个git用户,用来运行git服务
收集所有需要登录的用户的公钥(id_rsa.pub),导入到/home/git/.ssh/authorized_keys
sudo git init --bare sample.git (/src/sample.git)
sudo chown -R git:git sample.git 把owner改为git
创建版本库
mkdir <file> // 创建空目录
git init 把这个目录编程git可以管理的仓库
ll 命令可以看见隐藏的目录 .git . ..
包括的有三个
把文件放入git仓库
git add <file> git commit 把文件提交到仓库 -m <message> -m后面输入的是本次提交的说明(最好写上,方便自己和同事能够简单明了的知道。这里需要添加双引号来写message)
这下面的内容如果你是刚入门的,这些就不用看了.
git status 查看工作区的状态,这里可以查看也可以不查看
//git diff <file> 查看修改的内容,就是查看和原来的文件不同的地方,只有修改过的文件,才会和源文件不相同的。 查看历史记录 git log 查看提交历史 --pretty=oneline 简化输出的信息(前边是commit id) git reset --hard HEAD^ 回退到上一个版本 HEAD^^ 回退到上上一个版本 HEAD~100 回退到上100个版本 git reset --hard <commit id> git reflog 查看命令历史 工作区(Working Directory) 版本库(Repository) -> 工作区中的一个隐藏目录.git stage 暂存区, master, HEAD 管理修改:每次修改都需要git add <file>,然后git commit,才能存入仓库 撤销修改: git checkout -- <file> 撤回修改的内容(未add提交到暂存区) git reset HEAD <file> 撤回添加到暂存区的文件 删除文件 rm <file> git rm <file> 删除文件 git commit -m <message>
远程仓库
创建SSH Key
ssh-keygen -t rsa -C "youremail@example.com"
–id_rsa 私钥
–id_rsa.pub 公钥
登录GitHub->Account Settings->Add SSH Key
粘贴id_rsa.pub文件里的内容
添加远程库
git remote add origin https://github.com/CharlesWu123/learngit.git 在你进行远程登录库的时候,必须保证在你的github上已经存在learngit这个库,前面的"CharlesWu123"对应的是你的github的用户名.
或 git remote add origin git@github.com:charleswu123/learngit.git 远程库的名字origin,git默认的叫法
推送上传到你的github
git push -u origin master
第一次推送master分支,加上-u参数,推送+关联
git push origin master
以后的推送可以不加-u
git remote rm origin
从远程克隆
git clone git@github.com:charleswu/gitskill.git
克隆需要添加的是你要克隆的对应的url,此处的url是指的文件的url,而不是最上方网址的URL
分支管理这里的内容也是不用看的,分支这一块的内容比较繁杂
分支管理
创建与合并分支
查看分支:git branch
创建分支:git branch
切换分支:git checkout
创建+切换分支:git checkout -b
合并某分支到当前分支:git merge
删除分支:git branch -d
解决冲突(手动解决)
git log --graph --pretty=oneline --abbrev-commit 分支合并图
1.分支管理策略
git merge --no-ff -m dev
禁用Fast forward,进行合并,这样从分支历史上就可以看出分支消息
git log --graph --pretty=oneline --abbrev-commit 查看分支历史
bug分支
修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,
修复后,再git stash pop,回到工作现场
git stash
git stash list
git stash pop
强制删除
git branch -D
多人协作开发
git push origin 推动自己的修改
git pull 如果推送失败,则抓取远程新的提交,因为远程分支比你的本地更新
git checkout -b origin/
在本地创建和远程分支对应的分支
git branch --set-upstream-to origin/
本地分支和远程分支创建连接
git remote -v 查看远程库信息
Rebase
rebase操作可以把本地未push的分叉提交历史整理成直线
rebase的目的是使得我们在查看历史提交的变化时更容易,
因为分叉的提交需要三方对比
标签这一块的内容也很少用得到,对于一个初学者是不用看的
标签
创建标签
git tag 创建一个标签,默认为HEAD,也可以指定一个commit id
git tag -a -m 指定标签信息
git tag 查看所有标签
git show 查看标签信息
操作标签
git tag -d 删除标签
git push origin 推送标签到远程
git push origin --tags 一次性推送全部尚未推送到远程的本地标签
删除远程标签
git tag -d 先删除本地标签
git push origin :refs/tags/ 再从远程删除
码云
git remote add git@github.com:charleswu123/learngit.git
关联GitHub的远程库 为在github上的库名
git remote add git@gitee.com:charleswu123/learngit.git
关联gitee的远程库,为在gitee上的库名
git remote -v 查看远程库信息
自定义git
git config --global color.ui true 让git显示颜色
忽略特殊文件
添加 .gitignore 文件,并提交到Git
git add -f 强制添加到Git
git check-ignore -v 检查文件忽略
配置别名
git config --global alias.<别名> <要替换的名>
配置文件:
每个仓库的配置文件: .git/config
当前用户的配置文件:.gitconfig(用户主目录下的)
Git 的相关的命令的实现形式(这些命令都是再Mac os下输入的命令)
501 git
502 mkdir firstGit
503 cd firstGit
504 ls
505 git init
506 touch chaochao.txt//这个文件是首先就touch chaochao.txt
509 git add chaochao.txt
512 git commit chaochao.txt
513 git commit -m "GIT 的第一次提交,新手入门"
514 git remote add origin https://github.com/chenxinjingjing/firstGit.git
515 git push -u origin master
//需要注意,当你执行下面这句话的时候,你必须保证你的firstGit项目是应创建的,
//我说的创建指的是你在你的github上有repository这个.如果没有你可以添加一个
接下来是把自己传递上去的项目,克隆下来,看看自己的内容是
516 git clone https://github.com/chenxinjingjing/firstGit.git
517 ls
518 cd firstGit/
520 vim README.md
522 git add README.md # 把修改过的README.md文件添加
523 git commit -m '修改' # 此处的“修改”就是上文中的 message
524 git push origin master
525 cd firstGit
// 需要到主目录下,获取公钥的时候
527 ssh-keygen -t rsa -C "574260xxx@qq.com"
528 ls
529 vim ls.pub
注意复制的得到的文件如果格式不正确,就会一直提醒你添加的文件不正确,无效
如果这样的话,你可以用gedit *.pub文件之后复制,这样就不会出现格式混乱而造成的无效和文件复制不正确的问题了.
注意:# 是python中的解释文本的意思,由于博主学习的是python
当你
baidu@ubuntu:~/Documents/UI_AccuracyTest/UI$ git commit
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
需要先把你的用户名,以及密码输入上去