GIT

 ######################

 

 

######################

 

 

https://blog.csdn.net/p10010/article/details/51336332

首先,你需要注册一个 github账号,最好取一个有意义的名字,比如姓名全拼,昵称全拼,如果被占用,可以加上有意义的数字.

本文中假设用户名为 chuaaqiCSDN(我的博客名的全拼)

 

一、gihub账号注册与仓库创建

 

1. 注册账号:


地址: https://github.com/
输入账号、邮箱、密码,然后点击注册按钮.

 

 

 

 

2. 初始设置

 

注册完成后,选择Free免费账号完成设置。

 

 

 

 

 

3.验证账号

 

新建一个仓库

 

 

发现邮箱地址未验证

 

 

 

登录你注册时的邮箱,验证

 

 

4、新建仓库

 

输入仓库名,点击创建

 

 

仓库创建成功

 

 

 

 

二、本地仓库上传到github仓库

 

在F盘下mygit2016仓库中有一个hello.txt文件,现在要讲hello.txt文件上传至github中

 

 

 

1、文件保存至本地仓库

 

鼠标右击选择 Git Bash Here

 

配置用户名和邮箱

 

 

添加和提交

 

 

提交成功

 

2、生成SSH密钥

 

 

$ ssh-keygen -t rsa -C "13654922203@163.com"
按3个回车,密码为空。

 

 

在C:\Users\Administrator\.ssh目录下找到id_rsa.pub复制里面所有内容

 

 

 

登录你的gihub账号,点击Your profile

 

 

 

然后点击Edit profile

 

 

 

选择SSH并新建一个SSH Key

 

 

 

其中Title中的名称可以任意填写,将C:\Users\Administrator\.ssh目录下id_rsa.pub复制的所有内容粘贴到Key中,点击Add SSH Key,SSH密钥完成

 

3、远程提交

 

  添加新的远程仓库

$ git remote add origin  git@github.com:chuaaqiCSDN/mygit.git其中红色部分的URL时是gihub中的SSH

 

 

远程提交 git push origin master

 

 

这时再看gihub中的mygit仓库,发现多了一个hello.txt文件

 

远程提交完成!!!!!

 

######################

https://jingyan.baidu.com/article/414eccf67600a56b431f0af5.html

Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

本文介绍的是windows下使用git并创建一个代码库

工具/原料

 
  • Windows,Git

方法/步骤

 
  1. 1

    下载Git,从官方网站下载Git并安装,安装以后在windows 目录点右键快捷菜单会有Git相应的功能

    怎样使用windows下的git
  2. 2

    进入Git Gui,配置git的用户名和邮箱

    怎样使用windows下的git
  3. 3

    初始化一个Git代码库,创建一个文件夹并进入,点击右键"Git init here",然后会创建一个代码仓库

    怎样使用windows下的git
  4. 4

    添加文件,任何文件都可以,git会记录文件操作的状态。 进入"Git Gui"

    怎样使用windows下的git
  5. 5

    选择未缓存的改动列表,添加注释并提交改动

    怎样使用windows下的git
  6. 6

    把提交的改动上传到服务器,比如github

    怎样使用windows下的git
    END

注意事项

 
  • 此文是windows下的git

 

sampe 2:

GIT是一款分布式的版本控制系统,最初是为Linux内核版本控制而开发的,在团队协作上比CVS等集中式的版本控制管理更有优势。经过多年的发现,目前,GIT可以运行在Linux/Windows/MAC等操作系统上。以Windows为例,介绍GIT的常规使用方法。

工具/原料

 
  • MSYSGIT软件

方法/步骤

 
  1.  

    下载MSYSGIT

    从https://git-for-windows.github.io/中下载MSYSGIT并安装。安装完毕后,在开始菜单中就出现了GIT,可以看到有三种运行方式:GIT Bash、GIT CMD、GIT GUI,其中Bash和CMD都是命令行的运行方式,比较直接,但是要求熟悉GIT命令,推荐采用GUI的运行方式,比较直观,容易上手操作。

    Git使用详细教程
    Git使用详细教程
  2.  

    创建新仓库 (一般使用文字bash 创建代码仓库)

    点击“Create New Repository”菜单,按照提示选择要创建仓库的路径,点击“Create”按钮就创建了一个新仓库。新仓库在本地机器上原本就是一个独立的目录,建立为仓库后,新增了一个.git文件夹,用于保存版本等信息。

    Git使用详细教程
    Git使用详细教程
  3.  (这一步可以图形化操作)

    新建一个文件

    进入本地仓库目录,新建一个文本文件testGIT.txt。在GIT中单击Rescan按钮,在UnstagedChanges列表中就出现了该文件。

    Git使用详细教程
  4.  

    增加到版本库   (这一步可以图形化操作)

    单击“StageChanged”按钮,将文件增加到版本库的暂存区。

    Git使用详细教程
  5.  

    提交新文件   (这一步可以图形化操作) 

    输入提交版本信息,单击“Commit”按钮,提交新文件,这样就在GIT库中增加了一个新文件。

    Git使用详细教程
  6.  

    浏览库中的文件   (这一步可以图形化操作)  (这一步可以图形化操作)

    选择Repositroy菜单中的“Browse Master’s Files”,可以浏览库中的文件列表。

    Git使用详细教程
  7.  

    修改文件  (这一步可以图形化操作)

    在本地文件夹中打开testGIT.txt文件,编辑后再保存。点击GIT GUI中的Rescan按钮,可以看到该文件又进入“Unstaged Changes”列表。在Modified Not Staged列表中显示出了变更内容。与增加文件操作一样,先后点击“StageChanged”和“Commit”按钮,将变更内容追加到仓库中。

    Git使用详细教程
    Git使用详细教程
    Git使用详细教程
  8.  

    查看本地仓库的修改历史   (这一步可以图形化操作)

    点击“Repositroy”菜单中的“Visualize Master’s History”,显示本地仓库的修改历史。

    Git使用详细教程
    Git使用详细教程
  9.  

    连接远程仓库服务器

    在GitHub上申请一个GIT仓库,通过“Remote”菜单中的“Add”功能,连接到GitHub上的仓库,同时初始化远程仓库并将本地仓库数据上传到远程仓库。

    Git使用详细教程
    Git使用详细教程
    Git使用详细教程
    END

注意事项

 
  • GIT之所以称之为分布式版本管理软件,就在于每一台GIT仓库都是一个完整的副本,其运行不需要与服务器连接。也可以自己建立一台GIT服务器,让团队成员都从这台服务器上拷贝文件,也利于分工协作的开展。

 

#####sample 2.2 如何打开已有的仓库

1.如何打开已有的仓库
选择git gui . 然后打开已经有仓库吗,然后选择 程序所在的目录即可

 

##sample 3  git 要处理的问题和常见命令

https://blog.csdn.net/Jiangtagong/article/details/122863400

https://blog.csdn.net/m0_62336865/article/details/127102424

########6.6 解决协同开发冲突问题
场景:

开发者1:小李 开发者2:小王
git pull xsbc master(main) git pull xsbc master(main)
在Hello在HelloWorld.java新增内容“bbb”
在Hello在HelloWorld.java新增内容“aaa”
git add .

git commit -m ''

git push xsbc master

git add .

git commit -m ''

git push xsbc master【会失败!】

原因分析:

在小李pull之后,push之前被其他开发人员push过
如何解决?

git pull xsbc master 【将小王修改的内容拉取到小李本地】,此时HelloWorld.java
<<<<<<< HEAD
aaa
=======
bbb
>>>>>>> c17dc45c80272240fb02467d9be937238b6efb2b
对文件进行冲突合并
git add .
git commit -m ''
git push xsbc master
七、分支管理
7.1 何为分支
分支就是版本库中记录版本位置(支线),分支之间项目会影响,使用分支可以对项目起到保护作用;

分支就是一条时间线,每次提交就在这条时间线上形成一个版本;

 

#####GIT  常见命令:

Git基本使用
4.1 创建版本库
在工作空间的目录中,右键“Git Bash Here”
输入git init指令,创建版本库(就是一个.git目录)


4.2 查看版本库状态
git status
4.3 将工作空间的修改add添加到暂存区
git add a.txt 表示只将工作空间中的某个文件add到暂存区

git add . 表示将工作空间中所有文件都add到暂存区

如果加不成功,可以考虑加入-f 参数

 git add -f .

git add  -f a.txt

4.4 将暂存区内容提交到版本库(仓库)
git commit -m '版本说明'

4.5 查看版本库中的历史版本
git log --oneline # oneline表示每个版本信息只显示一行

get log # 显示每个版本的详细信息

4.6 设置用户信息
将暂存区的内容提交到版本时,会记录当前版本提交的用户信息,因此在版本提交之前需先绑定用户的信息。

git config --global user.name '名字'

git config --global user.email '邮箱'

4.7 同步历史版本到工作空间
换言之,将工作空间同步到哪个版本!这样工作空间的项目就会更新!其中Head表示当前的版本。

 

git checkout 版本号

 

 

###git 分支管理

分支管理
7.1 何为分支
分支就是版本库中记录版本位置(支线),分支之间项目会影响,使用分支可以对项目起到保护作用;

分支就是一条时间线,每次提交就在这条时间线上形成一个版本;

7.2 分支特性
创建一个新的版本库,默认创建一个主分支(master/main分支)
每个分支可以进行单独管理(常规分支、保护分支、只读分支)
分支是可以合并的
7.3 分支操作
查看分支:git branch
创建分支:git branch branch_name
切换分支:git checkout branch_name
剪出分支(创建一个新分支并切换到此分支):git checkout 项目版本 -b branch_name
合并分支:git merge branch_name(将branch_name合并到当前分支上)
删除本地分支:git branch -d localBranchName
删除远程分支:git push origin(远程仓库名称) --delete remoteBranchName(分支名字)



————————————————
版权声明:本文为CSDN博主「路上的追梦人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Jiangtagong/article/details/122863400


————————————————
版权声明:本文为CSDN博主「路上的追梦人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Jiangtagong/article/details/122863400


————————————————
版权声明:本文为CSDN博主「路上的追梦人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Jiangtagong/article/details/122863400

 

 

#####  sample git 上传 到远程仓库

https://blog.csdn.net/qq_58389625/article/details/132015394

 

 

简易的命令行入门教程:

-》Git 全局设置:

git config --global user.name "dddd"
git config --global user.email "dddd_cn@sina.com"

创建 git 仓库:

mkdir ak
cd ak
git init 
touch README.md
git add README.md
git add -f .
git commit -m "first commit" 

git remote add origin https://gitee.com/dddd/ak.git

说明:
dddd : username
ak: 仓库名

fei ->usernameaksh ->仓库名

git push -u origin "master"

已有仓库?

cd existing_git_repo
git remote add origin https://gitee.com/dddd/ak.git
git push -u origin "master"



-》
后继每次本地仓库更新完成后,都可以使用如下方式更新到远程代码库,

如果弹出gitee的登录窗口登录即可

回到gitee仓库页面刷新一下即可看到代码已经上传完成了

git push -u origin "master"

 -》如果强制推送到本地,可以使用如下方法

7.强制推送(远程仓库为空可跳过)

将远程仓库拉到本地仓库git版本控制,如果根据此贴创建的仓库可以不执行

git pull --rebase origin master

 

###sample 5 Git二多次上传代码到代码仓库

https://blog.csdn.net/m0_63031112/article/details/133125241

 

简写版本:

##再次将更新记录,更新到GIT
git config user.name
git config user.email
git add -f .

或者

git add -f step0_open.py


git commit -m "1107commit"
git pull origin master
git push -u origin master

 

详细版本:

使用终端或命令行界面,进入你的项目目录。你可以使用 cd 命令切换到项目目录,例如:

cd /path/to/your/project

确保你已经配置好了 Git,包括设置了用户名和邮箱。你可以使用以下命令来配置,如果已经配置这一步,就忽略:

git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"

获取当前配置信息

git config user.name
git config user.email


使用 git status 命令检查当前项目的修改状态,确保你要提交的修改已经添加到暂存区。如果有未添加的修改,可以使用 git add 命令将它们添加到暂存区,例如:

2. git add .

这将添加所有未跟踪和已修改的文件。使用 git commit 命令提交你的修改,例如:

 

3. git commit -m "添加了新功能"

现在,你可以使用 git pull 命令拉取远程仓库的最新更改,以确保你的本地仓库是最新的:

4.git pull origin master 

这里假设你的远程仓库分支是 main,如果不是,请替换成你的分支名称。

最后,使用 git push 命令将你的修改推送到远程仓库:

5. git push origin master 
同样,这里的 main 是你要推送的分支名称,确保替换成你的分支名称。

这样就完成了将项目代码更新并上传到代码仓库的过程。注意,具体的命令可能会因项目的配置和远程仓库的设置而有所不同,所以请根据你的项目和仓库的实际情况进行调整。
————————————————
版权声明:本文为CSDN博主「南城余coding」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_63031112/article/details/133125241

 

 

报错1:如果遇到上面报错:
rror: failed to push some refs to 'https://gitee.com/feiyun8616/akshare.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.


解决办法: (1-4 已经跑了,只需要跑5,6)
1.git init //初始化仓库
2.git add .(文件name) //添加文件到本地
3.git commit -m "first commit" //添加文件描述信息
4.git remote add origin 远程仓库地址 //链接远程仓库
5.git pull origin master // 把本地仓库的变化连接到远程仓库master/main分支
6.git push -u origin master //把本地仓库的文件推送到远程仓库master/main分支

 

报错2:

fatal: refusing to merge unrelated histories

 

转载来自:https://www.educative.io/edpresso/the-fatal-refusing-to-merge-unrelated-histories-git-error

在“fatal: refusing to merge unrelated histories”(即,不知道彼此的存在,并已不匹配的项目提交历史)。

解决方案

通过切换allow-unrelated-histories开关可以解决该错误。在git pullgit merge命令之后,添加以下标记:

git pull origin master --allow-unrelated-histories

更多信息可以找到这里,在Git的官方文档。

 

 报错3:

【git报错】hint: Updates were rejected because the tip of your current branch is behind

有时候作为非master权限的项目参与者

在push的时候会遇到这样的报错:

hint: Updates were rejected because the tip of your current branch is behind

由于push的操作,本质上是用本地的最新版本,去覆盖远程仓库中某个分支的上一个版本,一般默认是master分支

此时就会由于不具备操作master分支的权限而报这个错误

 

解决方法很简单:

1)像很多帖子说的一样加一个强制参数-f

git push -u origin master -f

但这个是很危险的,因为会覆盖掉受保护的master分支

所以推荐以下做法

 

2)新建一个分支

git branch [new_branch_name]

然后push给这个新的branch

 

 ###报错4

解决error: Committing is not possible because you have unmerged files.

番茄牛腩不吃番茄

于 2021-04-01 11:26:24 发布

 

提交代码时发现已经 git merge了,执行提交操作却报:error: Committing is not possible because you have unmerged files ( 错误:由于未合并文件,无法提交文件。).

lifeng@zx-047 MINGW64 /f/project_gitee/Test (master|MERGING)
$ git commit -m'文件整合合并'
error: Committing is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.
U djangoProject/hello_django/hello_django/asgi.py
U djangoProject/hello_django/hello_django/settings.py
U djangoProject/hello_django/hello_django/urls.py
U djangoProject/hello_django/hello_django/wsgi.py
U djangoProject/hello_django/manage.py
解决方案如下:
首先 git status 查看下哪些没合并
lifeng@zx-047 MINGW64 /f/project_gitee/Test (master|MERGING)
$ git status
On branch master
Your branch is up to date with 'origin/master'.

You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)

Changes to be committed:
new file: djangoProject/hello_django/hello_apps/__init__.py
new file: djangoProject/hello_django/hello_apps/admin.py
new file: djangoProject/hello_django/hello_apps/apps.py
new file: djangoProject/hello_django/hello_apps/migrations/__init__.py
new file: djangoProject/hello_django/hello_apps/models.py
new file: djangoProject/hello_django/hello_apps/tests.py
new file: djangoProject/hello_django/hello_apps/views.py
new file: djangoProject/hello_django/hello_django/__init__.py
new file: "document/testSpecification/\344\272\247\345\223\201\346\265\213\350\257\225\350\247\204\350\214\203.xlsx"
new file: document/testUseCaseDefectLibrary/case_library.md
new file: document/testUseCaseDefectLibrary/defects_library.md
new file: document/testUseCaseDefectLibrary/flowchart_template.md
new file: performance/locustProject/common/__init__.py
new file: performance/locustProject/common/auth.py
new file: performance/locustProject/common/config.py
new file: performance/locustProject/locustfile.py
new file: performance/locustProject/requirements.txt
new file: requirements.txt

Unmerged paths:
(use "git add <file>..." to mark resolution)
added by them: djangoProject/hello_django/hello_django/asgi.py
added by them: djangoProject/hello_django/hello_django/settings.py
added by them: djangoProject/hello_django/hello_django/urls.py
added by them: djangoProject/hello_django/hello_django/wsgi.py
added by them: djangoProject/hello_django/manage.py
其次执行下 git add 从新添加下;其次再 git commit -m' 注释信息 ';最后再 git push
lifeng@zx-047 MINGW64 /f/project_gitee/Test (master|MERGING)
$ git add *
The following paths are ignored by one of your .gitignore files:
venv
hint: Use -f if you really want to add them.
hint: Turn this message off by running
hint: "git config advice.addIgnoredFile false"

lifeng@zx-047 MINGW64 /f/project_gitee/Test (master|MERGING)
$ git commit -m'解决冲突文件'
[master 50712fc] 解决冲突文件

lifeng@zx-047 MINGW64 /f/project_gitee/Test (master)
$ git push origin master
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 248 bytes | 248.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-5.0]
To gitee.com:lifeng0402/Test.git
6673675..50712fc master -> master

————————————————
版权声明:本文为CSDN博主「番茄牛腩不吃番茄」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/LIFENG0402/article/details/115369241

 

 

##### sample 6 生成一个新仓库,并初始化,然后更新本地仓库和远程仓库


###首先在GIT 网站生成一个新的远程仓库project1,,然后在window 本地做如下操作

git config --global user.name "AAA"
git config --global user.email "AAA_cn@sina.com"
git config user.name
git config user.email

##本地创建新的仓库镜像,并且第一次同步到远程 ()
mkdir finreport_anlyst
cd finreport_anlyst
git init
touch README.md
git add README.md
git add -f step2_parase_data_tt.py
git commit -m "first commit"
git remote add origin https://gitee.com/AAA/anlyst.git
git push -u origin "master"

##再次第二次 将最新更新脚本程序,更新到GIT,还可以用GIT GUI版本进行管理
1.打开GUI 界面
2.依次 点击 rescan , statechange ,commit, push 既可上传到远程仓库


##再次第二次 将最新更新脚本程序,更新到GIT (文字版本)
git config user.name
git config user.email
git add -f .

或者

git add -f step0_open.py


git commit -m "1107commit"
git pull origin master
git push -u origin master

 


######
已有仓库?( 此段还没有用)
cd existing_git_repo
git remote add origin https://gitee.com/AAA/finreport_anlyst.git
git push -u origin "master"

 

posted @ 2018-01-08 15:46  feiyun8616  阅读(176)  评论(0编辑  收藏  举报